matplotlib双Y轴
时间: 2023-09-06 11:08:08 浏览: 86
可以使用 matplotlib 的 twinx() 方法来创建一个双 Y 轴的图表,代码示例如下:
```python
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
ax2 = ax1.twinx() # 创建第二个 Y 轴
# 绘制第一个数据集
ax1.plot(x, y1, 'g-', label='y1')
ax1.set_xlabel('X Label')
ax1.set_ylabel('y1 Label', color='g')
# 绘制第二个数据集
ax2.plot(x, y2, 'b-', label='y2')
ax2.set_ylabel('y2 Label', color='b')
plt.show()
```
其中,ax1 是第一个 Y 轴,ax2 是第二个 Y 轴,通过 ax1.twinx() 方法创建。绘制数据时,分别使用 ax1 和 ax2 对象来绘制不同的数据集,并设置各自的标签和颜色。最后使用 plt.show() 方法显示图表。
相关问题
matplotlib 双Y轴刻度对齐
`matplotlib`是一个强大的数据可视化库,在创建复杂图形时,双Y轴刻度对齐是非常常见的需求,这有助于在同一图中展示两个相关的但独立的数据系列。在`matplotlib`中,可以使用`twinx()`或`twiny()`函数来添加第二个坐标轴,并通过调整轴的对象属性来控制它们的位置、刻度和标签。
下面是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建主图和副图
fig, ax1 = plt.subplots()
# 主轴数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
# 添加第一个Y轴
ax1.plot(x, y1, color='tab:red')
ax1.set_ylabel('main yAxis', color='tab:red')
# 添加第二个Y轴(twinx()共享X轴)
ax2 = ax1.twinx()
y2 = np.cos(x)
ax2.plot(x, y2, color='tab:blue')
ax2.set_ylabel('secondary yAxis', color='tab:blue')
# 对齐刻度和标签
for tick in ax2.get_yticklabels():
tick.set_color('tab:blue')
ax2.tick_params(axis='y', labelcolor='tab:blue')
plt.show()
```
在这个例子中,我们首先创建了一个包含红色正弦曲线的主Y轴,然后通过`twinx()`添加了蓝色余弦曲线的副Y轴。我们设置了每个轴的刻度颜色,并通过`tick_params()`确保副轴的刻度标签颜色一致。
matplotlib双y轴折线图
您好!要绘制一个带有双Y轴的折线图,您可以使用Matplotlib库中的`twiny()`函数来创建第二个Y轴。下面是一个简单的例子来说明如何使用Matplotlib绘制双Y轴折线图:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建画布和子图
fig, ax1 = plt.subplots()
# 绘制第一个Y轴的折线图
ax1.plot(x, y1, 'g-')
ax1.set_xlabel('X轴')
ax1.set_ylabel('Y1轴', color='g')
ax1.tick_params('y', colors='g')
# 创建第二个Y轴
ax2 = ax1.twinx()
# 绘制第二个Y轴的折线图
ax2.plot(x, y2, 'b-')
ax2.set_ylabel('Y2轴', color='b')
ax2.tick_params('y', colors='b')
# 添加图例
ax1.legend(['Y1'], loc='upper left')
ax2.legend(['Y2'], loc='upper right')
plt.title('双Y轴折线图')
plt.show()
```
这段代码将创建一个包含两个Y轴的折线图。第一个Y轴用绿色表示,其对应的折线是sin函数;第二个Y轴用蓝色表示,其对应的折线是cos函数。您可以根据需要自定义图例、轴标签等。希望对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文