博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python写入excel(xlswriter)--生成图表
阅读量:5966 次
发布时间:2019-06-19

本文共 4700 字,大约阅读时间需要 15 分钟。

一、折线图:

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excelworkbook = xlsxwriter.Workbook("chart_line.xlsx")# 创建一个sheetworksheet = workbook.add_worksheet()# worksheet = workbook.add_worksheet("bug_analysis")# 自定义样式,加粗bold = workbook.add_format({
'bold': 1})# --------1、准备数据并写入excel---------------# 向excel中写入数据,建立图标时要用到headings = ['Number', 'testA', 'testB']data = [ ['2017-9-1', '2017-9-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'], [10, 40, 50, 20, 10, 50], [30, 60, 70, 50, 40, 30],]# 写入表头worksheet.write_row('A1', headings, bold)# 写入数据worksheet.write_column('A2', data[0])worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])# --------2、生成图表并插入到excel---------------# 创建一个柱状图(line chart)chart_col = workbook.add_chart({
'type': 'line'})# 配置第一个系列数据chart_col.add_series({ # 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名 # 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值 'name': '=Sheet1!$B$1', 'categories': '=Sheet1!$A$2:$A$7', 'values': '=Sheet1!$B$2:$B$7', 'line': {
'color': 'red'},})# 配置第二个系列数据chart_col.add_series({ 'name': '=Sheet1!$C$1', 'categories': '=Sheet1!$A$2:$A$7', 'values': '=Sheet1!$C$2:$C$7', 'line': {
'color': 'yellow'},})# 配置第二个系列数据(用了另一种语法)# chart_col.add_series({
# 'name': ['Sheet1', 0, 2],# 'categories': ['Sheet1', 1, 0, 6, 0],# 'values': ['Sheet1', 1, 2, 6, 2],# 'line': {'color': 'yellow'},# })# 设置图表的title 和 x,y轴信息chart_col.set_title({
'name': 'The xxx site Bug Analysis'})chart_col.set_x_axis({
'name': 'Test number'})chart_col.set_y_axis({
'name': 'Sample length (mm)'})# 设置图表的风格chart_col.set_style(1)# 把图表插入到worksheet并设置偏移worksheet.insert_chart('A10', chart_col, {
'x_offset': 25, 'y_offset': 10})workbook.close() 

效果图:

 

二、柱状图:

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excelworkbook = xlsxwriter.Workbook("chart_column.xlsx")# 创建一个sheetworksheet = workbook.add_worksheet()# worksheet = workbook.add_worksheet("bug_analysis")# 自定义样式,加粗bold = workbook.add_format({
'bold': 1})# --------1、准备数据并写入excel---------------# 向excel中写入数据,建立图标时要用到headings = ['Number', 'testA', 'testB']data = [ ['2017-9-1', '2017-9-2', '2017-9-3', '2017-9-4', '2017-9-5', '2017-9-6'], [10, 40, 50, 20, 10, 50], [30, 60, 70, 50, 40, 30],]# 写入表头worksheet.write_row('A1', headings, bold)# 写入数据worksheet.write_column('A2', data[0])worksheet.write_column('B2', data[1])worksheet.write_column('C2', data[2])# --------2、生成图表并插入到excel---------------# 创建一个柱状图(column chart)chart_col = workbook.add_chart({
'type': 'column'})# 配置第一个系列数据chart_col.add_series({ # 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名 # 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值 'name': '=Sheet1!$B$1', 'categories': '=Sheet1!$A$2:$A$7', 'values': '=Sheet1!$B$2:$B$7', 'line': {
'color': 'red'},})# 配置第二个系列数据(用了另一种语法)chart_col.add_series({ 'name': '=Sheet1!$C$1', 'categories': '=Sheet1!$A$2:$A$7', 'values': '=Sheet1!$C$2:$C$7', 'line': {
'color': 'yellow'},})# 配置第二个系列数据(用了另一种语法)# chart_col.add_series({
# 'name': ['Sheet1', 0, 2],# 'categories': ['Sheet1', 1, 0, 6, 0],# 'values': ['Sheet1', 1, 2, 6, 2],# 'line': {'color': 'yellow'},# })# 设置图表的title 和 x,y轴信息chart_col.set_title({
'name': 'The xxx site Bug Analysis'})chart_col.set_x_axis({
'name': 'Test number'})chart_col.set_y_axis({
'name': 'Sample length (mm)'})# 设置图表的风格chart_col.set_style(1)# 把图表插入到worksheet以及偏移worksheet.insert_chart('A10', chart_col, {
'x_offset': 25, 'y_offset': 10})workbook.close()

效果图:

PS:

其实前面两个图只变动一点:把 line 个性为 column

chart_col = workbook.add_chart({
'type': 'column'})

 

三、饼图:

# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excelworkbook = xlsxwriter.Workbook("chart_pie.xlsx")# 创建一个sheetworksheet = workbook.add_worksheet()# 自定义样式,加粗bold = workbook.add_format({
'bold': 1})# --------1、准备数据并写入excel---------------# 向excel中写入数据,建立图标时要用到data = [ ['closed', 'active', 'reopen', 'NT'], [1012, 109, 123, 131],]# 写入数据worksheet.write_row('A1', data[0], bold)worksheet.write_row('A2', data[1])# --------2、生成图表并插入到excel---------------# 创建一个柱状图(pie chart)chart_col = workbook.add_chart({
'type': 'pie'})# 配置第一个系列数据chart_col.add_series({ 'name': 'Bug Analysis', 'categories': '=Sheet1!$A$1:$D$1', 'values': '=Sheet1!$A$2:$D$2', 'points': [ {
'fill': {
'color': '#00CD00'}}, {
'fill': {
'color': 'red'}}, {
'fill': {
'color': 'yellow'}}, {
'fill': {
'color': 'gray'}}, ],})# 设置图表的title 和 x,y轴信息chart_col.set_title({
'name': 'Bug Analysis'})# 设置图表的风格chart_col.set_style(10)# 把图表插入到worksheet以及偏移worksheet.insert_chart('B10', chart_col, {
'x_offset': 25, 'y_offset': 10})workbook.close()

效果图:

 

 

 

 

 

参考资料:

 

转载地址:http://slmax.baihongyu.com/

你可能感兴趣的文章
常用命令1
查看>>
Windows Server 2012 DHCP故障转移
查看>>
Linux服务器配置和管理:虚拟机安装CentOS6.7
查看>>
掌握ajax
查看>>
ASA下邮件发送经常失败
查看>>
python3第八天(面向对象)
查看>>
我的友情链接
查看>>
ubuntu atp&dpkg
查看>>
主要 次要通道
查看>>
利用贝叶斯分类器进行文本挖掘---笔记
查看>>
我的友情链接
查看>>
将ping命令结果输出到文本
查看>>
小蚂蚁学习mysql性能优化(8)--数据库结构优化--范式化和反范式化,水平分表,垂直分表...
查看>>
py requests.post2
查看>>
批处理文件学习笔记
查看>>
[考试]20151008
查看>>
perf-perf stat用户层代码分析
查看>>
OSI七层与TCP/IP五层网络架构详解
查看>>
(转载)equals与==
查看>>
shell
查看>>