Python第三方库之openpyxl(4)

2D柱状图

在柱状图中,值被绘制成水平条或竖列。

垂直、水平和堆叠柱状图。

注意:以下设置影响不同的图表类型

1.在垂直和水平条形图之间切换,分别设置为col或bar

2.当使用堆叠图表时,overlap需要设置为100

3.如果条是水平的,x轴和y轴要反转

from openpyxl import Workbook
from openpyxl.chart import BarChart, Series, Reference wb = Workbook(write_only=True)
ws = wb.create_sheet() 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"
chart1.style = 10
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") from copy import deepcopy chart2 = deepcopy(chart1)
chart2.style = 11
chart2.type = "bar"
chart2.title = "Horizontal Bar Chart" ws.add_chart(chart2, "G10") chart3 = deepcopy(chart1)
chart3.type = "col"
chart3.style = 12
chart3.grouping = "stacked"
chart3.overlap = 100
chart3.title = 'Stacked Chart' ws.add_chart(chart3, "A27") chart4 = deepcopy(chart1)
chart4.type = "bar"
chart4.style = 13
chart4.grouping = "percentStacked"
chart4.overlap = 100
chart4.title = 'Percent Stacked Chart' ws.add_chart(chart4, "G27") wb.save("bar.xlsx")

运行结果

3D柱状图

from openpyxl import Workbook
from openpyxl.chart import (
Reference,
Series,
BarChart3D,
) wb = Workbook()
ws = wb.active rows = [
(None, 2013, 2014),
("Apples", 5, 4),
("Oranges", 6, 2),
("Pears", 8, 3)
] for row in rows:
ws.append(row) data = Reference(ws, min_col=2, min_row=1, max_col=3, max_row=4)
titles = Reference(ws, min_col=1, min_row=2, max_row=4)
chart = BarChart3D()
chart.title = "3D Bar Chart"
chart.add_data(data=data, titles_from_data=True)
chart.set_categories(titles) ws.add_chart(chart, "E5")
wb.save("bar3d.xlsx")

运行结果

最新文章

  1. 跟着思维导图学习javascript
  2. 代码高亮美化插件-----SyntaxHighlighter
  3. ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
  4. WPF中实现根据拼音查找汉字
  5. 在 windows 上面安装 tensorflow
  6. 读懂IL代码(一)
  7. Mvc 页面缓存 OutputCache VaryByCustom
  8. 960 grid 分析
  9. Cocos2d-x 3.0final 终结者系列教程04-引擎架构分析
  10. 走进React
  11. centos7 Mysql备份还原并下载到windos
  12. python3.6安装Scrapy
  13. 【转】Linux从入门到精通——运维工程师成长路线图——CTO马哥Linux视频教学
  14. python学习笔记(11)--数据组织的维度
  15. 每天一个linux命令:iostat
  16. day21 计算器作业
  17. Code alignment 代码对齐改进(VS2017)
  18. opsmanage 自动化运维管理平台
  19. JavaScript学习(二)——深入学习js对象的原型与继承
  20. 配置Linux本地源镜像

热门文章

  1. html 手机端click 事件延迟问题(fastclick.js使用方法)
  2. (C#)asp_net调试错误解决方法收集(1)
  3. DrawTool画笔之纹理笔
  4. bootstrap-table 基础用法
  5. (八)mybatis之映射器
  6. CSS的相对定位和绝对定位
  7. windows/Linux 常用命令
  8. CPP-基础:wchar_t
  9. C06 变量和存储类型
  10. SSI的实例(登录增删改查)