今天我们来学习一下如何使用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参数用于设置在扇形上的具体数值
其他参数跟之前的图例基本类似
今天就到这里,谢谢各位点赞支持!!