Python Excel 画图表

在数据分析领域,数据可视化是非常重要的一环,通过图表可以更直观地展示数据的分布和趋势。在Python中,我们可以使用openpyxl库和matplotlib库来实现从Excel表格中读取数据,并用图表展示出来。

1. 安装依赖库

首先,我们需要安装openpyxlmatplotlib库。可以通过pip来安装:

pip install openpyxl
pip install matplotlib

2. 从Excel读取数据

假设我们有一个Excel表格,其中包含了某个项目的任务信息,我们可以通过以下代码来读取Excel中的数据:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('project_tasks.xlsx')

# 选择第一个工作表
sheet = workbook.worksheets[0]

# 读取数据
data = []
for row in sheet.iter_rows(values_only=True):
    data.append(row)

print(data)

3. 画甘特图

甘特图是一种展示项目进度的图表,我们可以使用matplotlib库来画出甘特图:

import matplotlib.pyplot as plt

# 解析数据
tasks = [row[0] for row in data[1:]]
start_dates = [row[1] for row in data[1:]]
end_dates = [row[2] for row in data[1:]]

# 画甘特图
plt.figure(figsize=(10, 6))
for i, task in enumerate(tasks):
    plt.barh(task, end_dates[i] - start_dates[i], left=start_dates[i])

plt.xlabel('日期')
plt.ylabel('任务')
plt.title('项目任务甘特图')
plt.show()

甘特图展示了每个任务的起始日期和结束日期,可以清晰地看到各个任务的执行情况。

4. 画饼状图

饼状图可以展示不同项目阶段或者任务的占比情况,让我们来画一个饼状图:

# 计算任务持续时间
durations = [end - start for start, end in zip(start_dates[1:], end_dates[1:])]

# 画饼状图
plt.figure(figsize=(6, 6))
plt.pie(durations, labels=tasks[1:], autopct='%1.1f%%')
plt.title('任务持续时间分布')
plt.show()

饼状图展示了每个任务的持续时间占比,帮助我们了解各个任务在整个项目中所占的比重。

通过以上代码示例,我们可以实现从Excel中读取数据并画出甘特图和饼状图,帮助我们更好地理解和展示数据。数据可视化是数据分析的重要一环,通过图表我们可以更加直观地理解数据背后的故事。

希望本文对您有所帮助,谢谢阅读!