Python第三方库之openpyxl(8)

饼图

饼图将数据绘制成一个圆片,每个片代表整体的百分比。切片是按顺时针方向绘制的,0在圆的顶部。饼图只能取一组数据。该图表的标题将默认为该系列的标题。

2D饼图

from openpyxl import Workbook

from openpyxl.chart import (
PieChart,
ProjectedPieChart,
Reference
)
from openpyxl.chart.series import DataPoint data = [
['Pie', 'Sold'],
['Apple', 50],
['Cherry', 30],
['Pumpkin', 10],
['Chocolate', 40],
] wb = Workbook()
ws = wb.active for row in data:
ws.append(row) pie = PieChart()
labels = Reference(ws, min_col=1, min_row=2, max_row=5)
data = Reference(ws, min_col=2, min_row=1, max_row=5)
pie.add_data(data, titles_from_data=True)
pie.set_categories(labels)
pie.title = "Pies sold by category" # Cut the first slice out of the pie
slice = DataPoint(idx=0, explosion=20)
pie.series[0].data_points = [slice] ws.add_chart(pie, "D1") ws = wb.create_sheet(title="Projection") data = [
['Page', 'Views'],
['Search', 95],
['Products', 4],
['Offers', 0.5],
['Sales', 0.5],
] for row in data:
ws.append(row) projected_pie = ProjectedPieChart()
projected_pie.type = "pie"
projected_pie.splitType = "val" # split by value
labels = Reference(ws, min_col=1, min_row=2, max_row=5)
data = Reference(ws, min_col=2, min_row=1, max_row=5)
projected_pie.add_data(data, titles_from_data=True)
projected_pie.set_categories(labels) ws.add_chart(projected_pie, "A10") from copy import deepcopy
projected_bar = deepcopy(projected_pie)
projected_bar.type = "bar"
projected_bar.splitType = 'pos' # split by position ws.add_chart(projected_bar, "A27") wb.save("pie.xlsx")

运行结果

2D投影饼图

投影饼图从饼图中提取出一些切片,并将它们投射到第二个饼状图或柱状图中。当数据系列中有几个较小的项时,这是很有用的。图表可以根据百分比、val(ue)或pos(ition)进行分割。如果没有设置任何东西,应用程序就决定使用哪一个。此外,还可以定义自定义分割。

3D饼状图

from openpyxl import Workbook

from openpyxl.chart import (
PieChart3D,
Reference
) data = [
['Pie', 'Sold'],
['Apple', 50],
['Cherry', 30],
['Pumpkin', 10],
['Chocolate', 40],
] wb = Workbook()
ws = wb.active for row in data:
ws.append(row) pie = PieChart3D()
labels = Reference(ws, min_col=1, min_row=2, max_row=5)
data = Reference(ws, min_col=2, min_row=1, max_row=5)
pie.add_data(data, titles_from_data=True)
pie.set_categories(labels)
pie.title = "Pies sold by category" ws.add_chart(pie, "D1") wb.save("pie3D.xlsx")

运行结果

Python第三方库之openpyxl(8)的更多相关文章

  1. Python第三方库之openpyxl(3)

    Python第三方库之openpyxl(3) 区域图 区域图类似于折线图,绘图线下面的区域会被填充,通过将分组设置为“standard”.“stacked”或“percentStacked”,可以获得 ...

  2. Python第三方库之openpyxl(12)

    Python第三方库之openpyxl(12) 地面天气图 在工作表上的列或行中安排的数据可以在一个表中绘制.当您想要在两组数据之间找到最佳组合时,一个表面图表是有用的.正如在地形图中一样,颜色和图案 ...

  3. Python第三方库之openpyxl(11)

    Python第三方库之openpyxl(11) Stock Charts(股票图) 在工作表上按特定顺序排列的列或行中的数据可以在股票图表中绘制.正如其名称所暗示的,股票图表通常被用来说明股价的波动. ...

  4. Python第三方库之openpyxl(10)

    Python第三方库之openpyxl(10) 雷达图 在工作表上的列或行中排列的数据可以在雷达图中绘制.雷达图比较多个数据系列的总值.它实际上是一个圆形x轴上的面积图的投影.有两种类型的雷达图:st ...

  5. Python第三方库之openpyxl(9)

    Python第三方库之openpyxl(9) 油炸圈饼图 甜甜圈图表与饼图相似,只是他们用的是环而不是圆.他们还可以将几个系列的数据绘制成同心环 from openpyxl import Workbo ...

  6. Python第三方库之openpyxl(7)

    Python第三方库之openpyxl(7) 散点图 散点或xy图表类似于一些折线图.主要的区别在于,一个系列的值被绘制在另一个值上.当值未排序时,这是有用的. from openpyxl impor ...

  7. Python第三方库之openpyxl(6)

    Python第三方库之openpyxl(6) 折线图 折线图允许在固定轴上绘制数据,它们类似于散列图,主要的区别在于,在折线图中,每个数据序列都是根据相同的值绘制的,不同的轴可以用于辅助轴,与条形图类 ...

  8. Python第三方库之openpyxl(5)

    Python第三方库之openpyxl(5) 气泡图 气泡图类似于散点图,但使用第三个维度来确定气泡的大小,图表可以包括多个项目 from openpyxl import Workbook from ...

  9. Python第三方库之openpyxl(4)

    Python第三方库之openpyxl(4) 2D柱状图 在柱状图中,值被绘制成水平条或竖列. 垂直.水平和堆叠柱状图. 注意:以下设置影响不同的图表类型 1.在垂直和水平条形图之间切换,分别设置为c ...

随机推荐

  1. CSS修改Autocomplete样式

    举个场景:在用户登录成功的时候,浏览器有时候会咨询你是否记住密码,当你记住密码下次登录的时候,标签会自动填充,但是这样会造成样式不统一,解决办法如下: input:-webkit-autofill, ...

  2. js图片预加载以及延迟加载

    当我们需要做图片轮播的时候,如果让图片提前下载到本地,用浏览器缓存起来,我们可以用Image对象: function preLoadImg(){ var img=new Image(); img.sr ...

  3. 关于一个app中数据库的问题

    如果是不同名字的数据库,可以有多个数据库操作dao 如果是同样名字的数据库,只能有一个数据库操作dao,创建表的语句可以写在一个oncreate方法里面 例如 public class Address ...

  4. [windows]命令行关机或重启电脑

    1.关机:菜单--〉运行--〉输入:cmd--〉输入:shutdown -s -t 0 2.重启:菜单--〉运行--〉输入:cmd--〉输入:shutdown -r -t 0 (注:“-r”代表重启, ...

  5. [Ubuntu]清除系统磁盘垃圾

    操作步骤: 1.sudo apt-get autoremove(卸载系统中所有未被使用的依赖关系) 2.sudo apt-get clean(清除所有缓存的包文件) 以上操作绿色无害,对系统无影响.

  6. 重置Mysql的root密码及用户权限设置

     一.重置Mysql的root密码 方法一: 直接进入localhost/phpmyadmin修改用户root的权限,设置密码: 方法二: 进入mysql控制台:mysql->use mysql ...

  7. IOS生成UUID

    /** * 生成GUID */ + (NSString *)generateUuidString{ // create a new UUID which you own CFUUIDRef uuid ...

  8. pyhton中的__new__和__init__

    首先__new__() 函数只能用于从object继承的新式类:其次,object将__new__()方法定义为静态方法,并且至少需要传递一个参数cls,cls表示需要实例化的类,此参数在实例化时由P ...

  9. navicate连接mysql

    1. 打开navicate,选择连接 2. 编辑连接属性 编辑完成之后,连接成功.

  10. decompressedResponseImageOfSize:completionHandler:]_block_invoke

    原因:   It turns out the linker error was caused by the CGImageSourceCreateWithData call. And the root ...