饼图¶

饼图将数据绘制为圆的切片,每个切片表示整个圆的百分比。切片按顺时针方向绘制,0°位于圆的顶部。饼图只接受一系列数值,标题将默认为系列的标题。

1 from openpyxl import Workbook

2

3 from openpyxl.chart import (

4 PieChart,

5 ProjectedPieChart,

6 Reference

7 )

8 from openpyxl.chart.series import DataPoint

9

10 data = [

11 ['Pie', 'Sold'],

12 ['Apple', 50],

13 ['Cherry', 30],

14 ['Pumpkin', 10],

15 ['Chocolate', 40],

16 ]

17

18 wb = Workbook()

19 ws = wb.active

20

21 for row in data:

22 ws.append(row)

23

24 pie = PieChart()

25 labels = Reference(ws, min_col=1, min_row=2, max_row=5)

26 data = Reference(ws, min_col=2, min_row=1, max_row=5)

27 pie.add_data(data, titles_from_data=True)

28 pie.set_categories(labels)

29 pie.title = "Pies sold by category"

30

31 # Cut the first slice out of the pie

32 slice = DataPoint(idx=0, explosion=20)

33 pie.series[0].data_points = [slice]

34

35 ws.add_chart(pie, "D1")

36

37

38 ws = wb.create_sheet(title="Projection")

39

40 data = [

41 ['Page', 'Views'],

42 ['Search', 95],

43 ['Products', 4],

44 ['Offers', 0.5],

45 ['Sales', 0.5],

46 ]

47

48 for row in data:

49 ws.append(row)

50

51 projected_pie = ProjectedPieChart()

52 projected_pie.type = "pie"

53 projected_pie.splitType = "val" # split by value

54 labels = Reference(ws, min_col=1, min_row=2, max_row=5)

55 data = Reference(ws, min_col=2, min_row=1, max_row=5)

56 projected_pie.add_data(data, titles_from_data=True)

57 projected_pie.set_categories(labels)

58

59 ws.add_chart(projected_pie, "A10")

60

61 from copy import deepcopy

62 projected_bar = deepcopy(projected_pie)

63 projected_bar.type = "bar"

64 projected_bar.splitType = 'pos' # split by position

65

66 ws.add_chart(projected_bar, "A27")

67

68 wb.save("pie.xlsx")

投影饼图¶

投影饼图从饼图中提取一些切片并投影到第二个饼图或条形图中。当数据系列中有很多较小的项时,这非常有用。图表可以按百分比、值(value)或位置进行拆分。如果未设置任何内容,则应用程序将决定使用哪个。此外,还可以自定义拆分。

三维饼图¶

饼图也可以用三维效果创建。

1 from openpyxl import Workbook

2

3 from openpyxl.chart import (

4 PieChart3D,

5 Reference

6 )

7

8 data = [

9 ['Pie', 'Sold'],

10 ['Apple', 50],

11 ['Cherry', 30],

12 ['Pumpkin', 10],

13 ['Chocolate', 40],

14 ]

15

16 wb = Workbook()

17 ws = wb.active

18

19 for row in data:

20 ws.append(row)

21

22 pie = PieChart3D()

23 labels = Reference(ws, min_col=1, min_row=2, max_row=5)

24 data = Reference(ws, min_col=2, min_row=1, max_row=5)

25 pie.add_data(data, titles_from_data=True)

26 pie.set_categories(labels)

27 pie.title = "Pies sold by category"

28

29

30 ws.add_chart(pie, "D1")

31

32 wb.save("pie3D.xlsx")

渐变饼图¶

也可以使用渐变序列创建饼图。

openpyxl 绘制饼形图_openpyxl3.0官方文档(13)—— 饼图相关推荐

  1. XSSFWorkbook 设置单元格样式_openpyxl3.0官方文档(25)—— 使用样式

    介绍 样式用于控制表格内容在屏幕上显示时的外观.它们还用于确定数字的格式. 样式可以应用于以下方面: 字体设置字体大小.颜色.下划线等. 填充以设置图案或颜色渐变 border在单元格上设置边框 单元 ...

  2. 删除一行下方单元格上移_openpyxl3.0官方文档(5)——插入和删除行和列,移动单元格...

    插入行和列¶ 可以使用工作表的一些方法插入或删除行或列: openpyxl.worksheet.worksheet.Worksheet.insert_rows() openpyxl.worksheet ...

  3. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(上)

    Hyperledger Fabric 2.0 官方文档中文版第6章 教程上 总目录 6.教程(上) 将智能合约部署到通道 启动网络 Logspout设置 打包智能合约 安装链码包 批准链码定义 将链码 ...

  4. SWFObject 2.0官方文档

    SWFObject 2.0官方文档 2008年4月24日 翻译:farthinker 主要内容: 1 . 什么是SWFObject 2.0? 2 . 为什么你应该使用SWFObject 2.0? 3 ...

  5. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(下)

    Hyperledger Fabric 2.0 官方文档中文版 第6章 教程下 总目录 6.教程(下) 使用CouchDB 为什么使用CouchDB? 在Hyperledger Fabric中启用Cou ...

  6. Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念

    Hyperledger Fabric 2.0 官方文档中文版 第3章 关键概念 总目录 3.关键概念 引言 什么是区块链? 区块链为什么有用? 什么是Hyperledger Fabric? Hyper ...

  7. Hyperledger Fabric 2.0 官方文档中文版 第5章 开发应用程序

    Hyperledger Fabric 2.0 官方文档中文版 第5章 开发应用程序 总目录 5.开发应用程序 情景 PaperNet网络 介绍参与者 分析 商业票据生命周期 交易 账本 过程和数据设计 ...

  8. CUDA10.0官方文档的翻译与学习之编程接口

    目录 背景 用nvcc编译 编译工作流 二进制适配性 ptx适配性 应用适配性 C/C++适配性 64位适配性 cuda c运行时 初始化 设备内存 共享内存 页锁主机内存 可移植内存 写合并内存 映 ...

  9. Hyperledger Fabric 2.0 官方文档中文版 第1章 引言

    Hyperledger Fabric 2.0 官方文档中文版 第1章 引言 总目录 1.引言 Hyperledger Fabric 模块化 许可区块链与无许可区块链 智能合约 新途径 隐私和保密 可插 ...

最新文章

  1. Java 中序列化与反序列化
  2. idea ctrl+alt+t快捷键
  3. 【黑科技】在alv中设置字体样式
  4. 技术宝典 | 基于标准 WebRTC 低延迟直播的开源实践
  5. 文件读写的“二进制模式”和“文本模式”
  6. 网站运营直通车——7天精通SEO
  7. Django中的admin
  8. .net 本地文件管理 代码_Gitee 在线解决代码冲突上线,解决冲突不再需要 Git 命令...
  9. extJS4.2.0 Json数据解析,嵌套及非嵌套(二)
  10. java丑数算法_Java代码如何实现求第N个丑数?实现和思路分享
  11. HTML5期末大作业:书店商城系统网站设计——响应式图书电商HTML 网上书店模板 (25页) HTML+CSS+JavaScript
  12. class文件反编译后的汉字乱码问题
  13. 2021年下半年软件设计师下午真题及答案解析
  14. MATLAB 如何导入.txt文本
  15. Calibre发邮件至Kindle
  16. 爬虫的基本原理:网络爬虫、爬虫基本流程、解析方式、保存数据
  17. Oracle 服务器连不上解决方式(远程telnet 1521端口失败)
  18. 分销系统_三级分销_掌上商城推广新渠道-泉州市丰泽区尚创网络科技有限公司
  19. 5个开源聊天应用程序
  20. UI设计一般要学多久,学完有多少工资呢?

热门文章

  1. SecureCRT如何进入和退出全屏及调出菜单栏
  2. redis 慢查询日志
  3. 大剑无锋之delete、drop、truncate【面试推荐】
  4. extract local variale 和 jsp中查找选中内容的快捷键
  5. Scala教程之:Enumeration
  6. Linux配置SSH无密码登录
  7. 单例设计模式详解+源代码+JDK源码应用——Java设计模式系列学习笔记
  8. Leecode 301. 删除无效的括号——Leecode每日一题系列
  9. 【无取巧解法,易于理解!】剑指 Offer 26. 树的子结构
  10. 【已解决】Error occurred during loading data. Trying to use cache server_Python系列学习笔记