matplotlib 同一坐标轴不同曲线的标签显示
时间: 2023-02-12 20:57:58 浏览: 72
在 Matplotlib 中,可以使用 plt.legend() 函数来显示不同曲线的标签。在绘制曲线时,可以使用 label 参数为每条曲线指定标签。然后调用 plt.legend() 即可在图中显示标签。
例如:
```
import matplotlib.pyplot as plt
plt.plot(x1, y1, label='Line 1')
plt.plot(x2, y2, label='Line 2')
plt.legend()
plt.show()
```
这样就可以在同一坐标轴上显示不同曲线的标签了。
相关问题
matplotlib 画同一y轴画大尺度曲线
如果你要在同一y轴下同时画多个大尺度曲线,可以使用`twinx()`函数创建一个共享y轴的新的Axes对象,并在该对象上绘制新的曲线,例如:
```python
import matplotlib.pyplot as plt
# 创建Figure和Axes对象
fig, ax1 = plt.subplots()
ax2 = ax1.twinx() # 创建共享y轴的新Axes对象
# 绘制曲线
ax1.plot(x1, y1, 'r-')
ax2.plot(x2, y2, 'b-')
# 设置坐标轴标签和图例
ax1.set_xlabel('x')
ax1.set_ylabel('y1', color='r')
ax2.set_ylabel('y2', color='b')
plt.legend(['y1', 'y2'])
plt.show()
```
其中,`ax1`是第一个y轴的Axes对象,`ax2`是第二个y轴的Axes对象,`ax2`通过`twinx()`函数创建并与`ax1`共享y轴。`plot()`函数用于在各自的Axes对象上绘制曲线,`set_xlabel()`和`set_ylabel()`函数用于设置坐标轴标签,`legend()`函数用于设置图例。最后调用`show()`函数显示图形。
同一坐标系,左右两边坐标轴横轴可以不同吗,用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()
```
输出的图像会有两个纵轴,左边的纵轴对应蓝色曲线,右边的纵轴对应红色曲线。