今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图

使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数

函数中最常用的两个属性values,用于赋值给需要可视化的数据

另外一个属性labels则是表示不同数据所对应的标签

我们先看一个例子

import plotly as py
import plotly.graph_objs as go pyplt = py.offline.plot
labels = ['产品1','产品2','产品3','产品4','产品5']
values = [38.7,15.33,19.9,8.6,17.47]
trace = [go.Pie(labels=labels, values=values)]
layout = go.Layout(
title = '产品比例配比图',
)
fig = go.Figure(data = trace, layout = layout)
pyplt(fig, filename='tmp/1.html')

import plotly as py
import plotly.graph_objs as go pyplt = py.offline.plot
labels = ['完成','未完成']
values = [0.8,0.2]
trace = [go.Pie(
labels = labels,
values = values,
hole = 0.7,
hoverinfo = "label + percent")]
layout = go.Layout(
title = '产品完成进度图'
)
fig = go.Figure(data = trace, layout = layout)
pyplt(fig, filename='tmp/1.html')

通过运行上诉代码,我们可以得到如上图所示的饼状结构图

这里样式的设置与我之前写的几篇博客中图形的样式设置类似

我这里就不在重复讲了。

下面说下如何绘制环形饼状图,只需要在Pie函数中设置控制环形中心空白大小的范围即可

import plotly as py
import plotly.graph_objs as go pyplt = py.offline.plot
labels = ['完成','未完成']
values = [0.8,0.2]
trace = [go.Pie(
labels = labels,
values = values,
hole = 0.7,
hoverinfo = "label + percent")]
layout = go.Layout(
title = '产品完成进度图'
)
fig = go.Figure(data = trace, layout = layout)
pyplt(fig, filename='tmp/1.html')

通过运行上诉代码,得到如上图所示环形饼状图

hole属性即是控制空白大小的属性

而在Pie函数中,hoverinfo属性用于控制用户鼠标指针放到环形图上时显示的内容

设置为lable+percent,表示标签加数据所占用的比例

对于饼状图的样式设置说明

import plotly as py
import plotly.graph_objs as go pyplt = py.offline.plot
labels = ['产品1', '产品2',
'产品3', '产品4', '产品5']
values = [30, 25, 15, 22, 8]
colors = ['#FFFF00', '#FF0000', '#E066FF', '#0D0D0D'] trace = [go.Pie(labels = labels,
values = values,
rotation = 30,
opacity = 1,
showlegend = False,
pull = [0.1,0,0,0,0],
hoverinfo = 'label+percent',
textinfo = 'percent', # textinfo = 'value',
textfont = dict(size = 30, color = 'white'),
marker = dict(colors = colors,
line = dict(color = '#000000', width = 2)))]
fig = go.Figure(data = trace)
pyplt(trace, filename='tmp/1.html')

运行上诉代码,可以得到如上图所示图例

rotation参数可以对饼图进行旋转,其取值为0-360

showlegend布尔型,True表示展示,False表示隐藏

pull参数设置饼图的各个扇形的突出程度。

textinfo参数用于设置在扇形上的具体数值

其他参数跟之前的图例基本类似

今天就到这里,谢谢各位点赞支持!!

Python使用Plotly绘图工具,绘制饼图的更多相关文章

  1. Python使用Plotly绘图工具,绘制直方图

    今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...

  2. Python使用Plotly绘图工具,绘制面积图

    今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...

  3. Python使用Plotly绘图工具,绘制甘特图

    今天来讲一下如何使用Python 的绘图工具Plotly来绘制甘特图的方法 甘特图大家应该了解熟悉,就是通过条形来显示项目的进度.时间安排等相关情况的. 我们今天来学习一下,如何使用ployly来绘制 ...

  4. Python使用Plotly绘图工具,绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...

  5. Python使用Plotly绘图工具,绘制散点图、线形图

    今天在研究Plotly绘制散点图的方法 使用Python3.6 + Plotly Plotly版本2.0.0 在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博客中有写到:https:/ ...

  6. Python使用Plotly绘图工具,绘制水平条形图

    水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orientation= 'h' 其他的参数与柱状图相同.也可以通过设置barmode = ' ...

  7. Python使用Plotly绘图工具,绘制柱状图

    使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单 ...

  8. Plotly绘图工具(多用于统计)

    作者:桂. 时间:2017-04-23  23:52:14 链接:http://www.cnblogs.com/xingshansi/p/6754769.html 前言 无意中考到一个小工具,网址为: ...

  9. Python绘图工具Plotly的简单使用

    1.Plotly被称为史上最好的绘图工具之一,为了更好的展示金融数据的复杂性. Plotly的官方网站为:https://plot.ly/ python量化的关键是金融数据可视化,无论是传统的K线图, ...

随机推荐

  1. 工程文件csproj使用编译条件指定属性

    csproj工程文件中有很多xml格式的属性,比如PropertyGroup.ItemGroup,某些属性操作默认是全部的或者是当前编译条件的而已,当我们想指定某些属性只在某个编译条件下发生时就可以通 ...

  2. ArcGIS API For Javascript_4.8-Symbol__SimpleLineSymbol

    require(["esri/symbols/SimpleLineSymbol"], function(SimpleLineSymbol) { /* code goes here ...

  3. SQLServer之删除用户自定义数据库用户

    删除用户自定义数据库用户注意事项 不能从数据库中删除拥有安全对象的用户. 必须先删除或转移安全对象的所有权,才能删除拥有这些安全对象的数据库用户. 不能删除 guest 用户,但可在除 master ...

  4. Luogu P5290 [十二省联考2019]春节十二响

    这题是最近看到的今年省选题中最良心的一道了吧 看题+想题+写题都可以在0.5h内解决,送分含义明显啊 首先理解了题意后我们很快就能发现两个点如果要被分在一段那么必须在它们的祖先处合并 首先我们考虑下二 ...

  5. Unity User Group深圳站——Timeline & Cinemachine分享

    报名说明:UUG深圳站,2月分享活动正式启动,1月29日中午12:00前报名可获赠Unity精美纪念礼物一份~ 关于Unity Unity 是一款多平台的综合型游戏开发工具,它的出现对蓬勃发展的全球游 ...

  6. spring mvc多个请求的影响 和使用全局变量

    对于那些会以多线程运行的单例类(比如spring mvc中的controller,dao,service): 局部变量不会受多线程影响 成员变量会受到多线程影响 如果方法里有成员变量,只有读操作,不受 ...

  7. 我的第一个MyBatis

    (1)步骤:1.新建实体类对象---根据数据库字段来设计,有多少字段设多少变量,变量名要字段名一致.   2.新建配置文件config.xml---主要用来获取数据源,里面内容大致需要填写:数据库驱动 ...

  8. 安装Adobe时出现Adobe Application Manager丢失或损坏解决方法

    很多朋友在安装Adobe系列产品时出现Adobe Application Manager丢失或损坏,这是由于上次安装的Adobe产品没有正确卸载,导致这次安装失败.那么如何解决这一问题呢? 1.下载安 ...

  9. Flink中的Time

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  10. Docker核心实现技术(命名空间&控制组&联合文件系统&Linux网络虚拟化支持)

    作为一种容器虚拟化技术,Docker深度应用了操作系统的多项底层支持技术. 早期版本的Docker是基于已经成熟的Linux Container(LXC)技术实现的.自Docker 0.9版本起,Do ...