用matplotlib在同一画布绘制多个线
时间: 2023-11-28 13:53:17 浏览: 93
可以使用`plt.plot()`函数来在同一个画布上绘制多条线。以下是一个简单的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一些数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 绘制三条线
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.plot(x, y3, label='tan(x)')
# 添加图例和标签
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Multiple Lines')
# 显示图形
plt.show()
```
在这个例子中,我们使用`np.linspace()`函数生成一个包含100个点的等间距数组`x`,并分别计算出三个数组`y1`、`y2`和`y3`,分别代表三条线的y值。然后,我们用`plt.plot()`函数绘制这三条线,并在`label`参数中指定每条线的标签。最后,我们使用`plt.legend()`函数添加图例,并使用`plt.xlabel()`和`plt.ylabel()`函数添加x轴和y轴标签,使用`plt.title()`函数添加标题。最后,我们使用`plt.show()`函数显示图形。
相关问题
python将多图绘制在同一画布中
要将多个图绘制在同一画布中,你可以使用matplotlib库。下面是一个简单的示例代码,它展示了如何将两个图绘制在同一画布中:
```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, ax = plt.subplots()
# 绘制第一个图
ax.plot(x, y1, label='sin(x)')
# 绘制第二个图
ax.plot(x, y2, label='cos(x)')
# 添加图例
ax.legend()
# 展示图形
plt.show()
```
在这个例子中,我们首先使用numpy库生成了两个函数的数据。然后,我们使用matplotlib库创建了一个画布,并使用plt.subplots()函数创建了一个包含单个子图的画布。
接着,我们使用plot()函数在第一个子图中绘制了第一个函数。然后,我们再次使用plot()函数在同一个子图中绘制了第二个函数。在每个plot()函数调用中,我们都使用了label参数来为每个函数添加标签。
最后,我们使用legend()函数添加了一个图例,并使用show()函数展示了图形。
如果你想要将更多的图绘制在同一画布中,可以使用类似的方法,在同一个子图中多次调用plot()函数即可。
matplotlib绘制多条线
在同一张图中,应该怎么做?
要在同一张图中绘制多条线,可以使用 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` 函数设置图形标题。
阅读全文