• python 使用 matplotlib.pyplot来画柱状图和饼图


    导入包

    import matplotlib.pyplot as plt
    

    柱状图

    最简柱状图

    # 显示高度
    def autolabel(rects):
        for rect in rects:
            height = rect.get_height()
            plt.text(rect.get_x()+rect.get_width()/2.- 0.2, 1.03*height, '%s' % int(height))
    
    
    name_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
    num_list = [33, 44, 53, 16, 11, 17, 17, 10]
    autolabel(plt.bar(range(len(num_list)), num_list, color='rgb', tick_label=name_list))
    plt.show()
    
    

    结果

    堆叠柱状图

    # 显示高度
    def autolabel(rects1, rects2):
        i = 0
        for rect1 in rects1:
            rect2 = rects2[i]
            i += 1
            height = rect1.get_height() + rect2.get_height()
            plt.text(rect1.get_x()+rect1.get_width()/2. - 0.1, 1.03*height, '%s' % int(height))
    
    
    name_list = ['A', 'B', 'C', 'D']
    num_list = [10, 15, 16, 28]
    num_list2 = [10, 12, 18, 26]
    z1 = plt.bar(range(len(num_list)), num_list, label='1', fc='b')
    z2 = plt.bar(range(len(num_list)), num_list2, bottom=num_list, label='2', tick_label=name_list, fc='g')
    autolabel(z1, z2)
    plt.legend()
    plt.show()
    

    结果

    并列柱状图

    name_list = ['A', 'B', 'C', 'D']
    num_list = [10, 15, 16, 28]
    num_list2 = [10, 12, 18, 26]
    x = list(range(len(num_list)))
    total_width, n = 0.8, 2
    width = total_width / n
    plt.bar(x, num_list, width=width, label='1', fc='b')
    for i in range(len(x)):
        x[i] += width
    plt.bar(x, num_list2, width=width, label='2', tick_label=name_list, fc='g')
    plt.legend()
    plt.show()
    
    

    结果

    饼图

    最简饼图

    name_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
    num_list = [33, 44, 53, 6,11, 7, 7, 10, 3, 1]
    # 保证圆形
    plt.axes(aspect=1)
    plt.pie(x=num_list, labels=name_list, autopct='%3.1f %%')
    plt.show()
    
    

    结果

    带切割的饼图

    name_list = ['A', 'B', 'C', 'D']
    num_list = [10, 3, 3, 47]
    colors = ['green', 'yellow', 'blue', 'red']
    # 圆形
    plt.figure(1, figsize=(6, 6))
    #决定分割部分,及其与其它部分之间的间距
    expl = [0, 0, 0, 0.1]
    plt.pie(x=num_list, explode=expl, labels=name_list, autopct='%3.1f %%', colors=colors, shadow=True)
    plt.show()
    
    

    结果

  • 相关阅读:
    学习算法和刷题的思路指南
    提交包到iTunes Connect时构建版本“正在处理”后直接消失的问题
    对网络通讯的一些学习和总结
    iOS开发 dispatch_block_t 简单的实现不带参数的回调函数
    app刚开始启动时(即:appdelegate文件中)可以写的几个功能
    拷贝项目时,自己总结的一些小事项
    iOS开发中遇到的一些问题以及解决办法总结
    宝库~iOS开发笔试题
    GCD 之线程死锁
    iOS开发之旅之懒加载
  • 原文地址:https://www.cnblogs.com/zhhfan/p/9971757.html
Copyright © 2020-2023  润新知