matplotlib同时画多个图
时间: 2023-07-04 16:07:59 浏览: 61
可以使用Matplotlib的子图(subplot)功能来同时画多个图。子图是一个在主图中的小图,可以用来展示多个相关的图表或数据。以下是一个例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 创建一个2行1列的子图
fig, axs = plt.subplots(2, 1, figsize=(8, 6))
# 在第一个子图中绘制sin(x)
axs[0].plot(x, y1)
axs[0].set_title('Sin(x)')
# 在第二个子图中绘制cos(x)
axs[1].plot(x, y2)
axs[1].set_title('Cos(x)')
# 显示图像
plt.show()
```
在这个例子中,我们创建了一个2行1列的子图,每个子图都可以使用 `axs` 数组中的索引来访问。我们在第一个子图中绘制了sin(x)的图像,在第二个子图中绘制了cos(x)的图像。最后,我们使用 `plt.show()` 方法显示图形。
相关问题
pandas matplotlib同时画多个图
使用matplotlib中的subplot函数可以在同一画布上绘制多个图,而pandas中的plot函数可以方便地将数据绘制成图形。
以下是一个示例代码,展示如何使用pandas和matplotlib同时绘制多个图:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('data.csv')
# 创建figure对象,并设置图像大小
fig = plt.figure(figsize=(10, 8))
# 在figure对象上创建多个子图
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)
# 绘制第一个子图
df.plot(x='date', y='value1', ax=ax1)
ax1.set_title('Value 1')
# 绘制第二个子图
df.plot(x='date', y='value2', ax=ax2)
ax2.set_title('Value 2')
# 绘制第三个子图
df.plot(x='date', y='value3', ax=ax3)
ax3.set_title('Value 3')
# 绘制第四个子图
df.plot(x='date', y='value4', ax=ax4)
ax4.set_title('Value 4')
# 调整子图之间的间距
plt.subplots_adjust(wspace=0.3, hspace=0.3)
# 显示图像
plt.show()
```
代码中,首先读取一个包含四列数据的CSV文件,然后创建了一个10x8的画布,并使用subplot函数创建了四个子图。接下来,使用pandas的plot函数在每个子图上绘制一列数据,并在每个子图上设置了标题。最后,使用subplots_adjust函数调整子图之间的间距,然后显示图像。
matplotlib怎么画多个函数值的图像
Matplotlib是一个广泛使用的Python数据可视化库,它可以创建各种图表,包括绘制多个函数的图像。要在Matplotlib中绘制多个函数,你可以按照以下步骤操作:
1. **导入所需模块**:
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. **定义函数**:
```python
def func1(x):
return x**2
def func2(x):
return np.sin(x)
```
这里我们定义了两个简单的函数:一次方和正弦函数。
3. **设置x轴范围**:
```python
x = np.linspace(-10, 10, 400) # 创建一个均匀的x轴数组
```
4. **计算并存储每个函数的y值**:
```python
y1 = func1(x)
y2 = func2(x)
```
5. **创建图形和轴**:
```python
fig, ax = plt.subplots()
```
6. **绘制函数图像**:
```python
ax.plot(x, y1, label='Function 1') # 第一个函数
ax.plot(x, y2, label='Function 2') # 第二个函数
```
7. **添加标签、标题和图例**:
```python
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('Multiple Function Plots')
ax.legend() # 显示图例
```
8. **显示图形**:
```python
plt.show()
```
阅读全文