matplotlib在一张图上同时作散点图和点线图时,怎么统一坐标轴设置
时间: 2024-10-20 21:10:33 浏览: 28
matplotlib在python上绘制3D散点图实例详解
在matplotlib中,如果你想在同一张图表上同时绘制散点图(scatter plot)和折线图(line plot),可以按照以下步骤操作:
首先,确保导入所需的库:
```python
import matplotlib.pyplot as plt
import numpy as np
```
然后创建数据:
```python
x = np.linspace(0, 10, 100)
y1 = x ** 2
y2 = x ** 3
```
接下来,你可以分别创建子图,并在每个子图上绘制不同的图型:
```python
fig, axs = plt.subplots(nrows=1, ncols=2) # 创建一个包含两个子图的网格
# 绘制散点图
axs[0].scatter(x, y1, label='Scatter Plot')
axs[0].set_xlabel('X-axis') # 设置X轴标签
axs[0].set_ylabel('Y1-axis') # 设置Y1轴标签
# 绘制点线图
axs[1].plot(x, y2, marker='o', linestyle=':', markersize=4, label='Line with dots')
axs[1].set_xlabel('X-axis') # 同样设置X轴标签
axs[1].set_ylabel('Y2-axis') # 设置Y2轴标签
# 对所有轴进行统一的标题和刻度设置
plt.setp(axs, title='Scatter and Line on Same Plot', xlim=(0, 10), ylim=(0, 1000))
# 添加共享的图例
fig.legend()
# 显示图形
plt.show()
```
在这个例子中,我们设置了每个子图的基本标签和范围,然后通过`plt.setp()`函数对整个图形的标题、刻度等进行了统一设置。
阅读全文