• 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参数用于设置在扇形上的具体数值

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

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

  • 相关阅读:
    Mac sublime text4 修改选中行背景色
    转|java反射方法和使用详解
    浅析Java8中default关键字
    HashMap知识点梳理、常见面试题和源码分析
    100道运维常见面试题
    Python遇到的问题和解决方法汇总
    Git分支管理规范
    29个运维经典面试题
    运维必备技能
    PMP:挣值管理(PV、EV、AC、SV、CV、SPI、CPI)的记忆方法
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10638713.html
Copyright © 2020-2023  润新知