iPythonJupyter Notebook 和 Pandas,如何在 for 循环中绘制多个图形

pandasPython

1个回答

写回答

田保瑞

2025-06-20 03:30

+ 关注

Python
Python

在数据分析和可视化中,我们经常需要在 for 循环中绘制多个图形。iPython/Jupyter Notebook 和 Pandas 是两个强大的工具,它们可以帮助我们实现这一目标。本文将介绍如何使用这两个工具在 for 循环中绘制多个图形,并提供案例代码作为示例。

首先,我们需要安装并导入所需的库。确保已经安装了 iPython/Jupyter Notebook 和 Pandas。可以使用以下命令安装 Pandas

!pip install Pandas

接下来,让我们导入 Pandas 并创建一个示例数据集。我们将使用一个包含多个城市的天气数据集作为示例。数据集包含日期、城市、最高温度和最低温度。

Python

import Pandas as pd

# 创建示例数据集

data = {'日期': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'],

'城市': ['北京', '上海', '广州', '深圳', '杭州'],

'最高温度': [5, 8, 10, 12, 6],

'最低温度': [-2, 1, 5, 8, 1]}

df = pd.DataFrame(data)

现在,我们已经准备好在 for 循环中绘制多个图形了。首先,我们需要创建一个图形容器,然后在每次循环中向容器添加图形。可以使用 Matplotlib 或 Seaborn 这样的库来创建和绘制图形。以下是使用 Matplotlib 和 Seaborn 分别绘制图形的示例代码。

使用 Matplotlib 绘制图形

Python

import matplotlib.pyplot as plt

# 创建图形容器

fig, axs = plt.subplots(len(df['城市']), 1, figsize=(6, 4 * len(df['城市'])), sharex=True)

# 在每个子图中绘制图形

for i, city in enumerate(df['城市']):

# 选择当前子图

ax = axs[i]

# 根据城市筛选数据

city_data = df[df['城市'] == city]

# 绘制最高温度和最低温度曲线

ax.plot(city_data['日期'], city_data['最高温度'], label='最高温度')

ax.plot(city_data['日期'], city_data['最低温度'], label='最低温度')

# 添加标题和图例

ax.set_title(city)

ax.legend()

# 调整子图之间的间距

plt.tight_layout()

# 显示图形

plt.show()

使用 Seaborn 绘制图形

Python

import seaborn as sns

# 创建图形容器

fig, axs = plt.subplots(len(df['城市']), 1, figsize=(6, 4 * len(df['城市'])), sharex=True)

# 在每个子图中绘制图形

for i, city in enumerate(df['城市']):

# 选择当前子图

ax = axs[i]

# 根据城市筛选数据

city_data = df[df['城市'] == city]

# 绘制最高温度和最低温度曲线

sns.lineplot(data=city_data, x='日期', y='最高温度', ax=ax, label='最高温度')

sns.lineplot(data=city_data, x='日期', y='最低温度', ax=ax, label='最低温度')

# 添加标题和图例

ax.set_title(city)

ax.legend()

# 调整子图之间的间距

plt.tight_layout()

# 显示图形

plt.show()

通过以上代码示例,我们可以在 for 循环中绘制多个图形。在每次循环中,我们选择当前子图并在其中绘制图形。可以根据需要选择合适的绘图库和绘图函数。最后,我们可以调整子图之间的间距,并显示图形。

iPython/Jupyter Notebook 和 Pandas 是非常有用的工具,可以帮助我们在 for 循环中绘制多个图形。使用这些工具,我们可以轻松地进行数据分析和可视化。希望本文能够帮助你理解如何在 for 循环中绘制多个图形,并为你的数据分析工作提供帮助。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号