matplotlib绘制多条线
时间: 2023-09-06 16:08:12 浏览: 38
在同一张图中,应该怎么做?
要在同一张图中绘制多条线,可以使用 matplotlib 的 subplot 函数来创建多个子图,每个子图绘制一条线。具体步骤如下:
1. 创建画布和子图
```
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
```
2. 绘制第一条线
```
x1 = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
ax.plot(x1, y1, label='line 1')
```
3. 绘制第二条线
```
x2 = [1, 2, 3, 4]
y2 = [2, 5, 10, 17]
ax.plot(x2, y2, label='line 2')
```
4. 添加图例和标签
```
ax.legend()
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_title('Multiple Lines')
```
5. 显示图形
```
plt.show()
```
注意:在第二步和第三步中,调用 `ax.plot` 函数绘制线时,指定了每个线的标签,用于显示图例。在第四步中,调用 `ax.legend` 函数显示图例,调用 `ax.set_xlabel` 和 `ax.set_ylabel` 函数设置坐标轴标签,调用 `ax.set_title` 函数设置图形标题。
相关问题
matplotlib绘制多条直方图
可以使用hist()函数来绘制多条直方图,只需将需要绘制的数据分别传入函数即可。以下是一个例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成数据
data1 = np.random.normal(0, 1, 1000)
data2 = np.random.normal(2, 1, 1000)
data3 = np.random.normal(-2, 1, 1000)
# 绘制直方图
plt.hist(data1, bins=20, alpha=0.5, label='data1')
plt.hist(data2, bins=20, alpha=0.5, label='data2')
plt.hist(data3, bins=20, alpha=0.5, label='data3')
# 添加图例
plt.legend()
# 显示图像
plt.show()
```
输出结果如下:
![histogram](https://cdn.jsdelivr.net/gh/Yousazoe/picgo-repo/img/histogram.png)
matplotlib绘制多条折线图代码
下面是一个简单的例子,演示如何使用matplotlib绘制多条折线图:
```python
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y1 = [1, 3, 2, 4, 5]
y2 = [2, 4, 3, 5, 6]
y3 = [3, 5, 4, 6, 7]
# 绘制折线图
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.plot(x, y3, label='Line 3')
# 设置图例
plt.legend()
# 设置标题和坐标轴标签
plt.title('Multiple Line Plot')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
# 显示图形
plt.show()
```
这个例子中,我们使用了三个列表 `x`、`y1`、`y2`和 `y3` 来表示三条折线图的横坐标和纵坐标数据。然后,我们使用 `plt.plot()` 函数分别绘制了三条折线图,并使用 `label` 参数设置每条折线图的标签。最后,我们使用 `plt.legend()` 函数来显示图例,使得用户可以区分不同的折线图。在设置完标题和坐标轴标签后,我们调用 `plt.show()` 函数显示图形。可以根据需要在代码中修改数据、标签和其他参数,以生成自己需要的多条折线图。