matplotlib 双Y轴刻度对齐
时间: 2024-07-27 16:01:23 浏览: 98
`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()`确保副轴的刻度标签颜色一致。