Python对Excel进行创建柱状图并添加图例
时间: 2023-11-28 13:49:36 浏览: 157
要在Python中创建Excel柱状图并添加图例,可以使用openpyxl库。以下是一个示例代码:
```python
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 添加数据
rows = [
['Country', '2019', '2020'],
['USA', 10, 12],
['China', 8, 11],
['Japan', 6, 8],
['Germany', 5, 7]
]
for row in rows:
ws.append(row)
# 创建柱状图
chart = BarChart()
chart.title = 'Sales by Country'
chart.x_axis.title = 'Country'
chart.y_axis.title = 'Sales'
# 添加数据系列
data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=5)
chart.add_data(data, titles_from_data=True)
# 添加图例
cats = Reference(ws, min_col=1, min_row=2, max_row=5)
chart.set_categories(cats)
chart.legend = None
# 将图表添加到工作表
ws.add_chart(chart, "B7")
# 保存工作簿
wb.save("sales.xlsx")
```
在此示例中,我们首先使用openpyxl创建了一个新的Excel工作簿和工作表。然后,我们添加了一些数据并使用openpyxl的BarChart类创建了一个柱状图。接下来,我们使用Reference类定义了数据系列和图例,然后将图表添加到工作表中。最后,我们保存工作簿。
注意,在添加图例时,我们将`chart.legend`设置为`None`,以便不在图表中显示默认图例。这是因为我们已经使用`chart.set_categories()`方法手动添加了图例。
阅读全文