今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图
使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数
函数中最常用的两个属性values,用于赋值给需要可视化的数据
另外一个属性labels则是表示不同数据所对应的标签
我们先看一个例子
importplotly as pyimportplotly.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')
importplotly as pyimportplotly.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函数中设置控制环形中心空白大小的范围即可
importplotly as pyimportplotly.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,表示标签加数据所占用的比例
对于饼状图的样式设置说明
importplotly as pyimportplotly.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参数用于设置在扇形上的具体数值
其他参数跟之前的图例基本类似
今天就到这里,谢谢各位点赞支持!!