python3之openpyxl生成柱状图

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

rows = [
    ('月份', '苹果', '香蕉'),
    (1, 43, 25),
    (2, 10, 30),
    (3, 40, 60),
    (4, 50, 70),
    (5, 20, 10),
    (6, 10, 40),
    (7, 50, 30),
]

for row in rows:
    ws.append(row)

chart1 = BarChart()
# 设置图表属性,type 为 col 为列状图,bar 为水平图
chart1.type = "col"
chart1.style = 10
chart1.title = "销量柱状图"
chart1.y_axis.title = '销量'
chart1.x_axis.title = '月份'

# 设置纵坐标的值范围,包括纵坐标的标题在内
data = Reference(ws, min_col=2, min_row=1, max_row=8, max_col=3)
chart1.add_data(data, titles_from_data=True)

# 设置横坐标的值,如果只设置min_col则,max_col=min_col
series = Reference(ws, min_col=1, min_row=2, max_row=8)
# 设置横坐标
chart1.set_categories(series)
ws.add_chart(chart1, "A10")
wb.save("aa.xlsx")

python3之openpyxl生成柱状图_第1张图片

 

你可能感兴趣的:(python,python,开发语言)