并不是子图,而是同一个坐标轴下
时间: 2024-10-19 13:07:32 浏览: 12
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
当你在一个图表或图形中绘制多个数据系列时,可能会遇到这种情况:你想在同一张坐标轴上显示这些数据,而不是创建多个独立的子图。在matplotlib库中,这可以通过使用`ax.plot()`、`ax.scatter()`等函数的同一参数`ax`(axis)来实现,这个`ax`通常是当前活动的子图或者创建一个新的主图时没有指定的。
例如,如果你有一个包含两个数据系列的列表:
```python
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5]
series1 = [1, 4, 9, 16, 25]
series2 = [2, 8, 18, 32, 50]
fig, ax = plt.subplots() # 创建一个新图,如果没有指定,就会默认创建一个主图
# 在同一坐标轴上绘制两条线
ax.plot(x_values, series1, label='Series 1')
ax.plot(x_values, series2, label='Series 2', linestyle='dashed') # 第二个数据系列用虚线表示
# 添加图例和标签
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.legend()
plt.show()
```
在这个例子中,`subplots()`函数返回了一个图对象`fig`和一个轴对象`ax`。所有绘图操作都在`ax`上完成,所以它们都将在同一张图上显示。
如果你已经有了一些子图,并想改变某个子图的行为而不影响其他子图,可以在特定的子图上调用相应的方法。
阅读全文