python中Excel图表的绘制

1、饼图将数据画成圆形切片,每个切片代表整个百分比。

切片按顺时针方向画,圆顶0°。

#绘制饼图
importopenpyxl
fromopenpyxl.chartimportPieChart,Reference,BarChart,BubbleChart,ScatterChart#Reference:图标所用信息
fromopenpyxl.chartimportSeries

#准备数据
rows=[
['Pie','Sold'],
['Apple',50],
['Cherry',30],
['Pumpkin',10],
['Chocolate',40]
]

#将数据写入excel
#创建工作簿
wb=openpyxl.Workbook()
ws=wb.active
ws.title='PieCharts'

forrowinrows:
ws.append(row)

#绘制饼图
pie_chart=PieChart()
#设置标题
pie_chart.title='Piesoldbycategory'
#进行分类
category=Reference(ws,min_col=1,min_row=2,max_row=5)
data=Reference(ws,min_col=2,min_row=2,max_row=5)#数据所在第2列

#需要先添加数据再设置种类介绍
#添加数据
pie_chart.add_data(data)
#设置所分类别
pie_chart.set_categories(category)

#在excel添加饼图
ws.add_chart(pie_chart,'D1')#在D1位置绘制饼图
#保存
wb.save('char_excel_text.xlsx')

2、在条形图中,值被绘制成水平条或垂直列。可以通过type属性设置。

importopenpyxl
fromopenpyxl.chartimportPieChart,Reference,BarChart,BubbleChart,ScatterChart#Reference:图标所用信息
fromopenpyxl.chartimportSeries

#绘制柱状图
#创建工作表
ws=wb.create_sheet('BarChart')

#准备数据
rows=[
('Number','Batch1','Batch2'),
(2,10,30),
(3,40,60),
(4,50,70),
(5,20,10),
(6,10,40),
(7,50,30),
]

#添加数据
forrowinrows:
ws.append(row)

#绘制柱状图
bar_chart=BarChart()
bar_chart.type='col'#col垂直、水平柱状图bar
bar_chart.title='BarChart'
bar_chart.style=10#设置颜色,10的对比度最强,红色与蓝色
#设置横轴纵轴标题
bar_chart.x_axis.title='Samplelength(mm)'
bar_chart.y_axis.title='Testnumber'

#设置分类
category=Reference(ws,min_col=1,min_row=2,max_row=7)
#获取数据
data=Reference(ws,min_col=2,max_col=3,min_row=1,max_row=7)

#柱状图对象添加数据
bar_chart.add_data(data,titles_from_data=True)#titles_from_data=True:根据来源设置数据标题
#设置分类
bar_chart.set_categories(category)
#工作页绘制柱状图,并指定位置
ws.add_chart(bar_chart,'E1')

#保存
wb.save('char_excel_text.xlsx')

以上就是python中Excel图表的绘制,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复