美文网首页
python matplotlib模块: pie(饼图)

python matplotlib模块: pie(饼图)

作者: _Mirage | 来源:发表于2020-07-15 05:22 被阅读0次

    饼图的绘制也是直接调用plt的pie方法就好了,就是有些参数很复杂,但是记住怎么使用的了就好。

    源码:

    # coding=utf-8
    
    
    from matplotlib import pyplot as plt
    
    '''
    test
    slices = [120, 80, 30, 20]
    labels = ['Sixty', 'Forty', 'Extra1', 'Extra2']
    colors = ['blue', 'red', 'yellow', 'green']
    # 第一个参数是一个可迭代对象, plt会算出每个元素占的比重然后绘图, 标签和颜色这些都要对上,\
    #   wedgeprops这个参数是设置每两个块之间的分界线颜色
    plt.pie(slices, labels=labels, colors=colors,
            wedgeprops={'edgecolor': 'black'})
    plt.tight_layout()
    plt.show()
    '''
    
    '''
    test2
    # Language Popularity(数据集)
    slices = [59219, 55466, 47544, 36443, 35917, 31991, 27097,
              23030, 20524, 18523, 18017, 7920, 7331, 7201, 5833]
    labels = ['JavaScript', 'HTML/CSS', 'SQL', 'Python', 'Java', 'Bash/Shell/PowerShell',
              'C#', 'PHP', 'C++', 'TypeScript', 'C', 'Other(s):', 'Ruby', 'Go', 'Assembly']
    plt.pie(slices, labels=labels)
    
    plt.tight_layout()
    plt.show()
    '''
    
    plt.style.use("fivethirtyeight")
    slices = [59219, 55466, 47544, 36443, 35917]
    labels = ['JavaScript', 'HTML/CSS', 'SQL', 'Python', 'Java']
    explode = [0, 0, 0, 0.1, 0]
    # explode是表示某个块相对于中心突出的百分比, 0表示不突出, 0.1表示相对于中心突出0.1, 长度必须和slices一样长,\
    # startangle可以旋转我们最后的图形, 这里刚开始是javascript, 经过旋转90度后整个图逆时针旋转了90度,\
    # autopct='%1.1f%%'这句话有点难懂(就这样用固定的就好了), 它的意思是在每个块上面显示出所占的百分比, 保留一位小数,\
    # shadow为True时可以在某些块边缘创造出"立体效果",\
    # wedgeprops={'edgecolor': 'black'}是设置块与块之间的分解线的颜色
    plt.pie(slices, labels=labels, explode=explode, shadow=True,
            startangle=90, autopct='%1.1f%%',
            wedgeprops={'edgecolor': 'black'})
    plt.title("First Pie")
    plt.tight_layout()
    plt.show()
    
    

    运行结果:


    图片.png

    相关文章

      网友评论

          本文标题:python matplotlib模块: pie(饼图)

          本文链接:https://www.haomeiwen.com/subject/jzelhktx.html