from openpyxl import Workbook
from openpyxl.chart import BarChart, Series, Reference
wb = Workbook()
ws = wb.active
rows = [('Number', 'Batch 1', 'Batch 2'),
(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()
chart1.type = "col" #柱状类型为列类型(竖),另一个值为bar类型(横)
chart1.style = 10 #对应excel表中相应的颜色字体样式
chart1.title = "Bar Chart"
chart1.y_axis.title = 'Test number'
chart1.x_axis.title = 'Sample length (mm)'
data = Reference(ws, min_col=2, min_row=1, max_row=7, max_col=3)
cats = Reference(ws, min_col=1, min_row=2, max_row=7)
chart1.add_data(data, titles_from_data=True)
chart1.set_categories(cats)
chart1.shape = 4
ws.add_chart(chart1, "A10")
wb.save('./create_data/08_设置条形图.xlsx')
老师,我想问一下,for row In rows:以下都为for的循环体,那么是不是逐条数据形成柱状,包括最后一行保存代码都是执行7次么?