📜  数学 plotlib 2 y 轴 - Python (1)

📅  最后修改于: 2023-12-03 15:10:17.686000             🧑  作者: Mango

数学 Plotlib 2 Y 轴 - Python

在 Python 中使用 Matplotlib 绘制图表是一项强大的工具,它允许我们创建各种各样的图表来可视化数据。 在本文中,我们将讨论如何使用 Matplotlib 在单个图表中创建两个 Y 轴。

绘制双 Y 轴

当我们需要在同一图表上绘制不同的数据时,使用两个 Y 轴非常有用。 Matplotlib 提供了绘制单个图表上的多个 Y 轴的函数。以下是一个简单的例子,说明了如何使用 Matplotlib 绘制双 Y 轴图表:

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x ** 2
y2 = -1 * y1

# 绘制图表
fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')

ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax2.set_ylabel('Y2 data', color='b')

plt.show()

上述代码将绘制一个包含两个 Y 轴的图表,其中两个轴都具有不同的颜色和标签。请注意,我们在此示例中使用了 fig, ax = plt.subplots() 方法,它返回图表对象 fig 和轴对象 ax1

自定义 Y 轴

我们可以进一步自定义 Y 轴的外观,例如更改线型和颜色,更改刻度线的位置和标签等。以下代码演示了如何自定义双 Y 轴图表:

import matplotlib.pyplot as plt
import numpy as np

# 创建数据
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x ** 2
y2 = -1 * y1

# 绘制图表
fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-', linewidth=2)
ax2.plot(x, y2, 'b--', linewidth=2)

# 自定义 Y1 轴
ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax1.tick_params('y', colors='g', rotation=90)
ax1.set_ylim([-5, 25])

# 自定义 Y2 轴
ax2.set_ylabel('Y2 data', color='b')
ax2.tick_params('y', colors='b', rotation=0)
ax2.set_ylim([-120, 60])

plt.show()

上述代码将绘制一个带有自定义颜色、线型和刻度线的双 Y 轴图表。我们还可以更改每个轴的限制,以改变轴的长度和范围。在此示例中,我们为 Y1 轴设置了 [-5, 25] 的限制,为 Y2 轴设置了 [-120, 60] 的限制。

总结

Matplotlib 提供了许多功能强大的方法,可帮助我们在 Python 中绘制出美丽的图表。双 Y 轴图表是一种常见的图表类型,它允许我们在同一图表上可视化不同的数据。通过使用 Matplotlib 提供的方法,我们可以轻松绘制出定制的双 Y 轴图表。