Python Excel 画图表
在数据分析领域,数据可视化是非常重要的一环,通过图表可以更直观地展示数据的分布和趋势。在Python中,我们可以使用openpyxl
库和matplotlib
库来实现从Excel表格中读取数据,并用图表展示出来。
1. 安装依赖库
首先,我们需要安装openpyxl
和matplotlib
库。可以通过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中读取数据并画出甘特图和饼状图,帮助我们更好地理解和展示数据。数据可视化是数据分析的重要一环,通过图表我们可以更加直观地理解数据背后的故事。
希望本文对您有所帮助,谢谢阅读!