Python使用Plotly绘图工具,绘制饼图
今天我们来学习一下如何使用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绘图工具,绘制饼图的更多相关文章
- Python使用Plotly绘图工具,绘制直方图
今天我们再来讲解一下Python使用Plotly绘图工具如何绘制直方图 使用plotly绘制直方图需要用到graph_objs包中的Histogram函数 我们将数据赋值给函数中的x变量,x = da ...
- Python使用Plotly绘图工具,绘制面积图
今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...
- Python使用Plotly绘图工具,绘制甘特图
今天来讲一下如何使用Python 的绘图工具Plotly来绘制甘特图的方法 甘特图大家应该了解熟悉,就是通过条形来显示项目的进度.时间安排等相关情况的. 我们今天来学习一下,如何使用ployly来绘制 ...
- Python使用Plotly绘图工具,绘制气泡图
今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...
- Python使用Plotly绘图工具,绘制散点图、线形图
今天在研究Plotly绘制散点图的方法 使用Python3.6 + Plotly Plotly版本2.0.0 在开始之前先说说,还需要安装库Numpy,安装方法在我的另一篇博客中有写到:https:/ ...
- Python使用Plotly绘图工具,绘制水平条形图
水平条形图与绘制柱状图类似,大家可以先看看我之前写的博客,如何绘制柱状图 水平条形图需要在Bar函数中设置orientation= 'h' 其他的参数与柱状图相同.也可以通过设置barmode = ' ...
- Python使用Plotly绘图工具,绘制柱状图
使用Plotly绘制基本的柱状图,需要用到的函数是graph_objs 中 Bar函数 通过参数,可以设置柱状图的样式. 通过barmod进行设置可以绘制出不同类型的柱状图出来. 我们先来实现一个简单 ...
- Plotly绘图工具(多用于统计)
作者:桂. 时间:2017-04-23 23:52:14 链接:http://www.cnblogs.com/xingshansi/p/6754769.html 前言 无意中考到一个小工具,网址为: ...
- Python绘图工具Plotly的简单使用
1.Plotly被称为史上最好的绘图工具之一,为了更好的展示金融数据的复杂性. Plotly的官方网站为:https://plot.ly/ python量化的关键是金融数据可视化,无论是传统的K线图, ...
随机推荐
- Linux遗忘root密码的其中两种解决方法
由于安全的需要,系统一般只有一个root用户,因此若遗忘root用户的登录密码,因此需要通过其他途径进行修改密码.1.通过单用户模式(1)重启系统,按任意键进入grub菜单.出现grub菜单时,按↑, ...
- 【error】Gradle sync failed: Unable to start the daemon process.【已解决】
---恢复内容开始--- 在克隆GIT项目后,Android Studio 报错: Gradle sync failed: Unable to start the daemon process. Th ...
- 物理dataguard 正常切换 脚色转换,switchover_status 状态改变
正常切换切换前: 主库:SQL> select DATABASE_ROLE from v$database;DATABASE_ROLE----------------PRIMARY SQL> ...
- iOS屏幕适配 支持新手机 iPhone XR iPhone XS 超简单
随着苹果爸爸发布了 超牛叉的iPhone iPhone X .iPhone XR.iPhone XS .iPhone XS Max.开发者的适配工作要开始了. 停,
- 【转】Python爬取AES加密的m3u8视频流的小电影并转换成mp4
最近发现一个视频网站,准备去爬取得时候,前面很顺利利用fiddler抓包获取网站的post数据loads为python字典数据,分析数据就能发现每个视频的连接地址就在其中, 发现这些都是m3u8文件流 ...
- python 基础语法梳理
最近涉及到python的东西比较多,抽一点时间把基础语法规整下. 1.面向对象 #coding=utf-8 def _class_test_01(): s = squire(3,4) print(&q ...
- Kali Linux 渗透测试手册(1.1)安装虚拟机
翻译来自:掣雷小组 成员信息: thr0cyte, Gr33k, 花花, 小丑, R1ght0us, 7089bAt, 一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在W ...
- vue2.0 日历日程表 ,可进行二次开发.
由于工作业务需求,要写一个日程表,日程表写之前 要先生成日历,废话不多说,直接 上代码: <!DOCTYPE html> <html lang="zh-CN"&g ...
- 关于:未能加载文件或程序集“ICSharpCode.SharpZipLib”或它的某一个依赖项异常的解决方案
问题: 今天项目迁移忽然又个ICSharpCode.SharpZipLib.dll 程序包丢失了,于是我在网上下载一个这样的包,结果程序运行就提示:未能加载文件或程序集“ICSharpCode.Sha ...
- java集合常见面试题
1. Array和ArrayList的区别,什么时候更合适用Array a) Array是数组,可以容纳基本类型和对象,而ArrayList是集合,只能容纳对象 b) Array是 ...