如何画出同一横轴两边不同的纵轴
时间: 2023-12-10 22:37:21 浏览: 84
这是一个IT类问题,你可以使用Python中的matplotlib库来完成这个任务。你需要使用两个不同的纵轴作为参数来绘制两条曲线,然后使用twinx()函数将其中一条曲线的纵轴与横轴进行绑定,从而实现同一横轴两边不同的纵轴。
以下是一个简单的Python代码示例:
```python
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
# 绘制第一条曲线,左侧纵轴
ax1.plot(x1, y1, 'r-')
ax1.set_xlabel('X Label')
ax1.set_ylabel('Y Label 1', color='r')
ax1.tick_params('y', colors='r')
# 绘制第二条曲线,右侧纵轴
ax2 = ax1.twinx()
ax2.plot(x2, y2, 'b-')
ax2.set_ylabel('Y Label 2', color='b')
ax2.tick_params('y', colors='b')
plt.show()
```
其中,x1和y1表示第一条曲线的横轴和纵轴数据,x2和y2表示第二条曲线的横轴和纵轴数据。通过设置每个轴的标签和颜色,可以使两个纵轴在同一图表中清晰可见。
相关问题
同一坐标系,左右两边坐标轴横轴可以不同吗,用pyplot举个例子
可以的,可以使用 `plt.twinx()` 函数创建一个与原坐标系共享横轴但纵轴不同的坐标系。下面是一个简单的例子:
```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()
ax1.plot(x, y1, 'b-')
ax1.set_xlabel('x')
ax1.set_ylabel('y1', color='b')
ax1.tick_params('y', colors='b')
ax2 = ax1.twinx()
ax2.plot(x, y2, 'r-')
ax2.set_ylabel('y2', color='r')
ax2.tick_params('y', colors='r')
fig.tight_layout()
plt.show()
```
输出的图像会有两个纵轴,左边的纵轴对应蓝色曲线,右边的纵轴对应红色曲线。
阅读全文