python读取excel数据绘制简单曲线图的完整步骤记录

  • Post category:Python

下面我来为你详细讲解如何使用Python读取Excel数据并绘制简单曲线图的完整步骤记录。

1. 确定需求和安装包

首先,你需要确定你的需求是什么:你需要读取Excel文件中的数据进行曲线图绘制。然后,你需要安装以下两个包:

  • openpyxl: 用于读写Excel文件。
  • matplotlib: 用于绘制曲线图。

你可以使用以下命令进行安装:

pip install openpyxl matplotlib

2. 读取Excel数据

在读取Excel数据之前,你需要先打开Excel文件。假设你要读取的Excel文件路径为/path/to/your/excel/file.xlsx,你可以使用以下代码来打开它:

from openpyxl import load_workbook

workbook = load_workbook('/path/to/your/excel/file.xlsx')

然后,你需要选择其中一个工作表,并获取其中的数据。在本例中,我们假设你要读取的工作表名称为Sheet1,数据位于第二列到第六列。你可以使用以下代码来完成这个任务:

worksheet = workbook['Sheet1']
data = []

for row in range(2, worksheet.max_row + 1):
    row_data = []
    for column in range(2, 7):
        value = worksheet.cell(row=row, column=column).value
        row_data.append(value)
    data.append(row_data)

在上面的代码中,我们首先通过worksheet.max_row获取工作表的行数,然后使用一个嵌套的循环遍历每一行和每一列,将数据保存到一个名为data的列表中。

3. 绘制曲线图

在获取了Excel数据之后,你可以使用matplotlib包来绘制曲线图。首先,你需要导入它:

import matplotlib.pyplot as plt

然后,你需要将data列表中的数据提取出来,并将其绘制成曲线图。在本例中,我们假设第一列是X轴数据,第二到第五列是Y轴数据。你可以使用以下代码来完成这个任务:

x_data = [row[0] for row in data]
y_data = [[row[1], row[2], row[3], row[4]] for row in data]

for i in range(4):
    plt.plot(x_data, [row[i] for row in y_data], label=f'Y{i+1}')

plt.legend()
plt.show()

在上面的代码中,我们首先使用列表推导式将X轴数据和Y轴数据分别存储到x_datay_data列表中。然后,我们使用一个循环遍历每一个Y轴数据,并将其绘制成一条曲线。最后,我们使用plt.show()将曲线图显示出来。

示例1: 读取Excel文件中的温度数据进行曲线图绘制

假设你有一个名为weather.xlsx的Excel文件,其中包含了每天的最高温度和最低温度。你可以使用以下代码来读取数据并绘制曲线图:

from openpyxl import load_workbook
import matplotlib.pyplot as plt

workbook = load_workbook('weather.xlsx')
worksheet = workbook['Sheet1']

data = []
for row in range(2, worksheet.max_row + 1):
    row_data = []
    for column in range(2, 4):
        value = worksheet.cell(row=row, column=column).value
        row_data.append(value)
    data.append(row_data)

x_data = [row[0] for row in data]
y_data = [[row[1], row[2]] for row in data]

plt.plot(x_data, [row[0] for row in y_data], label='Max Temperature')
plt.plot(x_data, [row[1] for row in y_data], label='Min Temperature')

plt.legend()
plt.show()

上面的代码将读取Excel文件中的温度数据,并绘制一个最高温度曲线和一个最低温度曲线。

示例2:读取Excel文件中的学生成绩并绘制曲线图

假设你有一个名为scores.xlsx的Excel文件,其中包含了每个学生的成绩。你可以使用以下代码来读取数据并绘制曲线图:

from openpyxl import load_workbook
import matplotlib.pyplot as plt

workbook = load_workbook('scores.xlsx')
worksheet = workbook['Sheet1']

data = []
for row in range(2, worksheet.max_row + 1):
    row_data = []
    for column in range(2, 7):
        value = worksheet.cell(row=row, column=column).value
        row_data.append(value)
    data.append(row_data)

x_data = [row[0] for row in data]
y_data = [[row[1], row[2], row[3], row[4]] for row in data]

for i in range(4):
    plt.plot(x_data, [row[i] for row in y_data], label=f'Subject{i+1}')

plt.legend()
plt.show()

上面的代码将读取Excel文件中的学生成绩,并绘制四条曲线,分别表示四个科目的成绩。