您的位置:首页 > 编程语言 > Python开发

python转行系列4:使用matplotlib绘制柱状图

2019-01-27 18:05 615 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zhaogang1993/article/details/86668030

前言

在统计学中,柱状图也是采用的展示数据的工具。本文讲述使用matplotlib中的bar函数绘制类似学生成绩分布的柱状图。

源码

[code]import matplotlib.pyplot as plt
import numpy as np

def PlotBarTest1():
    Num = 5
    Values = (10, 70 ,65, 95, 16)
    iIndex = np.arange(Num)
    p1 = plt.bar(iIndex, Values, width=0.4)
    plt.ylabel('Scoles')
    plt.show()

if __name__ == "__main__":
    PlotBarTest1()

代码解释

  • 假设有5名学生,其分数由元组(tuple)Values表示
  • 使用numpy模块的arange生成了一个多维(1*5))数组对象(ndarray);
  • 函数bar类似plot,用于绘制柱状图,返回一个包含所有柱体的容器Container。官方解释为:

Make a bar plot.

Return:

Container with all the bars and optionally errorbars.

 

  • plt.ylabel函数用于设置Y方向标签;
  • plt.show()显示图像;

显示结果

 

扩展

         matplotlib的bar函数还有许多参数,其函数原型如下:

[code]bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)

例如,可以设置bottom参数绘制分段柱状图

[code]def PlotBarTest1():
    Num = 5
    Values = (10, 70 ,65, 95, 16)
    #print(type(Values))
    Values2 = (11, 22 ,25, 15, 16)
    iIndex = np.arange(Num)
    p1 = plt.bar(iIndex, Values, width=0.4)
    p2 = plt.bar(iIndex, Values2, bottom=Values, width=0.4)
    plt.ylabel('Scoles')
    plt.show()

         以上代码添加了Value2元组,并增加了一个bar容器,设置bottom为Values。结果显示如下:      

 

总结

         无。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: