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