利用openpyxl在excel中画双柱形图
时间: 2024-10-16 20:09:00 浏览: 11
在Python中,可以使用`openpyxl`库结合matplotlib库来在Excel文件中创建图表,包括双柱状图。以下是基本步骤:
首先,你需要安装这两个库,如果还没有安装,可以使用pip安装:
```bash
pip install openpyxl matplotlib
```
然后,你可以按照以下代码示例绘制双柱状图:
```python
import openpyxl
import matplotlib.pyplot as plt
# 打开Excel工作簿
workbook = openpyxl.load_workbook('your_file.xlsx')
sheet = workbook['Sheet1'] # 假设你的图表数据在第一个工作表
# 定义数据
column1_data = [sheet.cell(row=row, column=1).value for row in range(2, sheet.max_row + 1)]
column2_data = [sheet.cell(row=row, column=2).value for row in range(2, sheet.max_row + 1)]
# 创建数据标签
labels = [sheet.cell(row=row, column=0).value for row in range(1, sheet.max_row + 1)]
# 绘制双柱状图
fig, ax = plt.subplots()
ax.bar(labels, column1_data, label='Column 1', color='blue')
ax.bar(labels, column2_data, bottom=column1_data, label='Column 2', color='red')
# 设置图表标题、标签等
ax.set_title('Double Bar Chart from Excel Data')
ax.set_xlabel('Labels')
ax.set_ylabel('Values')
ax.legend()
# 将matplotlib图形保存到Excel
plt.savefig(workbook, "chart1.png", index=0, right_margin=0.1, left_margin=0.1)
```
记得替换 `'your_file.xlsx'` 为你实际的Excel文件路径,并检查列位置是否正确。
阅读全文