下面我将为您详细讲解“Pythonmatplotlib读取excel数据并用for循环画多个子图subplot操作”的完整实例教程。
1. 准备工作
在开始之前,您需要完成以下准备工作:
- 安装 Python 3 和 matplotlib 库;
- 准备一份 Excel 文件,其中包含要绘制的数据。
2. 读取 Excel 数据
首先,需要使用第三方库 pandas 读取 Excel 数据。可以使用以下代码实现:
import pandas as pd
# 读取 Excel 数据
df = pd.read_excel('data.xlsx')
3. 绘制子图
接下来,使用 for 循环遍历数据,绘制子图。可以使用子图函数 subplot()
实现:
import matplotlib.pyplot as plt
# 遍历数据,绘制子图
for i in range(len(df.columns)):
plt.subplot(1, len(df.columns), i+1)
plt.plot(df.iloc[:, i])
plt.title(df.columns[i])
上面的代码中,df.columns
表示 Excel 文件的列名,其中 df.iloc[:,i]
表示遍历到的第 i 列数据。
4. 示例说明
下面,我们来看两个示例说明。
示例一:绘制柱状图
我们将使用 pandas 库读取一个包含了若干个年份和国家的 Excel 文件,然后用子图函数 subplot()
绘制多个子图,每个子图代表一个国家,横坐标表示年份,纵坐标表示人口数量。代码如下:
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 数据
df = pd.read_excel('countries.xlsx')
# 遍历数据,绘制子图
for i in range(1, len(df.columns)):
plt.subplot(2, 2, i)
plt.bar(df["year"], df.iloc[:, i])
plt.title(df.columns[i])
# 显示图形
plt.show()
上述代码会绘制出四个子图,分别代表四个国家的人口数量变化情况。
示例二:绘制多线图
我们将使用 pandas 库读取一个包含了若干个彩色的 RGB 值的 Excel 文件,然后用子图函数 subplot()
绘制多个子图,每个子图代表一个彩色 RGB 值组合,横坐标表示颜色分量的取值范围,纵坐标表示分量的值。代码如下:
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 数据
df = pd.read_excel('colors.xlsx', sheet_name='RGB')
# 遍历数据,绘制子图
for i in range(1, len(df.columns)):
plt.subplot(2, 2, i)
plt.plot(df.iloc[:, i])
plt.title(df.columns[i])
# 显示图形
plt.show()
上述代码会绘制出四个子图,分别代表四个不同的 RGB 值的分量变化情况。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python matplotlib读取excel数据并用for循环画多个子图subplot操作 - Python技术站