matplotlib 添加第二个x轴刻度标签
时间: 2024-09-20 10:03:30 浏览: 42
matplotlib 画双轴子图无法显示x轴的解决方法
在Matplotlib库中,添加第二个x轴刻度标签通常是在创建双对数图或者需要展示两个不同尺度的数据时会用到的。你可以通过`twinx()`函数创建一个新的坐标轴,然后使用`set_xticks()`和`set_xlabel()`设置新的刻度和标签。下面是一个简单的示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = x ** 2
# 主图
fig, ax1 = plt.subplots()
ax1.plot(x, y1, label='sin(x)')
ax1.set_xlabel('主轴X')
# 双轴
ax2 = ax1.twinx()
ax2.plot(x, y2, color='tab:red', label='x^2')
ax2.set_ylabel('二次方', color='tab:red') # 设置副轴的Y轴标签
# 添加第二个x轴标签
ax2.set_xticks(np.arange(0, 11, 2)) # 设置新刻度点
ax2.set_xlabel('副轴X', color='tab:red') # 设置副轴的X轴标签
# 整合图例
lines, labels = ax1.get_legend_handles_labels() + ax2.get_legend_handles_labels()
ax1.legend(lines, labels, loc='best')
plt.show()
```
在这个例子中,我们首先创建了主轴`ax1`用于`sin(x)`曲线,然后创建了副轴`ax2`用于`x^2`曲线,并设置了各自的颜色和标签。最后,我们在副轴上设置了额外的x轴刻度和标签。
阅读全文