Python Excel图表绘制指南:从入门到精通
1、饼图将数据画成圆形切片,每个切片代表整个百分比。
切片按顺时针方向画,圆顶0°。
- # 绘制饼图
- import openpyxl
- from openpyxl.chart import PieChart, Reference, BarChart, BubbleChart, ScatterChart # Reference:图标所用信息
- from openpyxl.chart import Series
- # 准备数据
- rows = [
- ['Pie', 'Sold'],
- ['Apple', 50],
- ['Cherry', 30],
- ['Pumpkin', 10],
- ['Chocolate', 40]
- ]
- # 将数据写入excel
- # 创建工作簿
- wb = openpyxl.Workbook()
- ws = wb.active
- ws.title = 'Pie Charts'
- for row in rows:
- ws.append(row)
- # 绘制饼图
- pie_chart = PieChart()
- # 设置标题
- pie_chart.title = 'Pie sold by category'
- # 进行分类
- 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属性设置。
- import openpyxl
- from openpyxl.chart import PieChart, Reference, BarChart, BubbleChart, ScatterChart # Reference:图标所用信息
- from openpyxl.chart import Series
- # 绘制柱状图
- # 创建工作表
- ws = wb.create_sheet('Bar Chart')
- # 准备数据
- rows = [
- ('Number', 'Batch1', 'Batch2'),
- (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)
- # 绘制柱状图
- bar_chart = BarChart()
- bar_chart.type = 'col' # col垂直、水平柱状图 bar
- bar_chart.title = 'Bar Chart'
- bar_chart.style = 10 # 设置颜色,10的对比度最强,红色与蓝色
- # 设置横轴纵轴标题
- bar_chart.x_axis.title = 'Sample length(mm)'
- bar_chart.y_axis.title = 'Test number'
- # 设置分类
- 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图表的绘制,希望对大家有所帮助。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
|