1. # _*_ coding: gbk _*_
  2. # @Author: Wonde
  3. # bar 直方图
  4.  
  5. import matplotlib.pyplot as plt # 绘图
  6. from matplotlib.font_manager import FontProperties # 管理字体
  7.  
  8. font = FontProperties(fname=r'STLITI.TTF') # 设置字体 设置路径即可
  9. plt.style.use('ggplot') # 样式可选,默认ggplot和classic
  10. # print(plt.style.available) #查看可以使用的背景样式
  11. classes = ['class1', 'class2', 'class3', 'class4'] # x轴数据
  12. studentnum = [11, 21, 33, 25] # y轴数据
  13. classes_index = range(len(classes)) # 传一个可迭代对象range是一个可迭代对象,目的是为了让非数字的X轴均匀分布,通过索引实现
  14. #画布设计
  15. fig = plt.figure() #实例化一个对象
  16. ax1 = fig.add_subplot(1, 1, 1) # 将一个画布分为几(1)行(1)列以及选定第(1)张add_subplot(1, 1, 1)
  17.  
  18. ax1.bar(classes_index, studentnum) # 设置一些参数
  19. # def bar(self, x, height, width=0.8, bottom=None, *, align="center",**kwargs):
  20. # 设置刻度值的显示位置
  21. ax1.xaxis.set_ticks_position('bottom') # 刻度 x的刻度在底部,y的刻度在左边
  22. ax1.yaxis.set_ticks_position('left')
  23.  
  24. #设置X轴的刻度和数据,X轴因为不是具体数据,故用他所在的数组位置进行等差取值。
  25. plt.xticks(classes_index, classes, rotation=0, fontsize=12, FontProperties=font)
  26.  
  27. # 设置x和y轴以及标题栏的名字
  28. plt.xlabel('班级', FontProperties=font, Fontsize=15)
  29. plt.ylabel('学生人数', FontProperties=font, Fontsize=15)
  30. plt.title('班级----学生人数', FontProperties=font, Fontsize=19)
  31. plt.show()

****************************************************************************************************************************************************

  1. # _*_ coding: gbk _*_
  2. # @Author: Wonde
  3. # bar 直方图
  4.  
  5. import matplotlib.pyplot as plt # 绘图
  6. from matplotlib.font_manager import FontProperties # 管理字体
  7.  
  8. font = FontProperties(fname=r'STLITI.TTF') # 设置字体 设置路径即可
  9. plt.style.use('ggplot') # 样式可选,默认ggplot和classic
  10. # print(plt.style.available) #查看可以使用的背景样式
  11. classes = ['class1', 'class2', 'class3', 'class4'] # x轴数据
  12. studentnum = [11, 21, 33, 25] # y轴数据
  13. classes_index = range(len(classes)) # 传一个可迭代对象range是一个可迭代对象
  14. #画布设计
  15. fig = plt.figure() #实例化一个对象
  16. ax1 = fig.add_subplot(1, 1, 1) # 将一个画布分为几(1)行(1)列以及选定第(1)张add_subplot(1, 1, 1)
  17.  
  18. ax1.barh( classes_index, studentnum) # 设置一些参数
  19. # def barh(self, y, width, height=0.8, left=None, *, align="center",**kwargs):
  20. # 设置刻度值的显示位置
  21. ax1.xaxis.set_ticks_position('bottom') # 刻度 x的刻度在底部,y的刻度在左边
  22. ax1.yaxis.set_ticks_position('left')
  23.  
  24. # yticks设置y轴的刻度值 和数据,此时Y轴是班级,不是一个具体数值,所以需要用索引来做均分间隔。
  25. plt.yticks(classes_index, classes, rotation=0, fontsize=12, FontProperties=font)
  26.  
  27. # 设置x和y轴以及标题栏的名字
  28. plt.xlabel('学生人数', FontProperties=font, Fontsize=15)
  29. plt.ylabel('班级', FontProperties=font, Fontsize=15)
  30. plt.title('班级----学生人数', FontProperties=font, Fontsize=19)
  31. plt.show()

  

  重在理解!!!

高斯分布,又称为正态分布。秘籍的直方图可以绘制出高斯分布图

  1. # _*_ coding: gbk _*_
  2. # @Author: Wonder
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. from matplotlib.font_manager import FontProperties
  6.  
  7. font = FontProperties(fname='simhei.ttf')
  8. plt.style.use('ggplot')
  9. num1, num2, sigama = , ,
  10. # 构造符合均值为20的正态分布,以及均值为50的正态分布。
  11. x1 = num1 + sigama * np.random.randn() # 10000为构造随机数的个数
  12. x2 = num2 + sigama * np.random.randn()
  13.  
  14. fig = plt.figure() # 初始化画板
  15. ax1 = fig.add_subplot(, , )
  16. ax1.hist(x1, bins=, color='yellow') # bins=50表示分成50份,即会有50个直方图组成正态分布大图
  17. ax2 = fig.add_subplot()
  18.  
  19. ax2.hist(x2, bins=, color='green')
  20.  
  21. fig.suptitle('两个图在一起', fontproperties=font, fontweight='bold',
  22. fontsize=) # fontweight为字体粗细,bold为粗体,fontproperties字体属性
  23. ax1.set_title('均值为20的正态分布图', fontproperties=font)
  24. ax2.set_title('均值为50的正态分布图', fontproperties=font)
  25. plt.show()

Matplotlib---柱状图、直方图(高斯分布)的更多相关文章

  1. numpy和matplotlib绘制直方图

    使用 Matplotlib Matplotlib 中有直方图绘制函数:matplotlib.pyplot.hist()它可以直接统计并绘制直方图.你应该使用函数 calcHist() 或 np.his ...

  2. NumPy使用 Matplotlib 绘制直方图

    NumPy - 使用 Matplotlib 绘制直方图 NumPy 有一个numpy.histogram()函数,它是数据的频率分布的图形表示. 水平尺寸相等的矩形对应于类间隔,称为bin,变量hei ...

  3. matplotlib 柱状图、饼图;直方图、盒图

    #-*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import matplotlib as mpl m ...

  4. matplotlib绘制直方图【柱状图】

    代码: def drawBar(): xticks = ['A', 'B', 'C', 'D', 'E']#每个柱的下标说明 gradeGroup = {'A':200,'B':250,'C':330 ...

  5. matplotlib柱状图、面积图、直方图、散点图、极坐标图、箱型图

    一.柱状图 1.通过obj.plot() 柱状图用bar表示,可通过obj.plot(kind='bar')或者obj.plot.bar()生成:在柱状图中添加参数stacked=True,会形成堆叠 ...

  6. 【Python】模块学习之matplotlib柱状图、饼状图、动态图及解决中文显示问题

    前言 众所周知,通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象.而大多数编程语言都有自己的绘图工具,matplotlib就是基于Python的绘图工具包,使用 ...

  7. matplotlib柱状图-【老鱼学matplotlib】

    柱状图在平常的图表中是非常常用的图,本节我们来看下如何来显示柱状图. 代码为: import numpy as np import pandas as pd import matplotlib.pyp ...

  8. 关于matplotlib绘制直方图偏移的问题

    在使用pyplot绘制直方图的时候我发现了一个问题,在给函数.hist()传参的时候,如果传入的组数不是刚刚好(就是说这个组数如果是使用(最大值-最小值)/组距计算出来,而这个数字不是整除得来而是取整 ...

  9. Python:matplotlib绘制直方图

    使用hist方法来绘制直方图:     绘制直方图,最主要的是一个数据集data和需要划分的区间数量bins,另外你也可以设置一些颜色.类型参数: plt.hist(np.random.randn(1 ...

随机推荐

  1. vue项目使用js-xlsx进行excel表格的导入和导出方法的简单原型封装

    前提:已经安装好 file-saver xlsx和 script-loader,如未安装,请查看 https://www.cnblogs.com/luyuefeng/p/8031597.html 新建 ...

  2. 【洛谷】P1247取火柴游戏

    题目链接:https://www.luogu.org/problemnew/show/P1247 题意:nim取石子的题意,多了一个判断先手赢的话,输出先手第一把怎么拿,以及拿完之后每堆还剩多少. 题 ...

  3. S1#Python之shebang

    点1 - Python之shebang 一. shebang 在计算机科学中,Shebang是一个由井号和叹号构成的字符串行,其出现在文本文件的第一行的前两个字符. 在文件中存在Shebang的情况下 ...

  4. u-boot 移植工作目录

    1. 添加工作用户 [root@localhost ~]#useradd -G root -g root -d/home/uboot uboot 2. 建立工作目录 [uboot@localhost ...

  5. 微信小程序改变全局变量

    假设A为登录页面并将登录获得的用户信息保存到app.js中的全局变量userInfo中,然后在B页面进行使用. app.js globalData:{    userInfo:null, } a.js ...

  6. vue之axios的使用

    一.环境安装 1.axios的安装 进入到对应工程目录执行: npm install axios 2.启动测试数据的API 测试项目地址:https://github.com/ShenJianPing ...

  7. vue 外卖app(3) 引入阿里图标

    1.登陆阿里图标官网 2.点击搜索按钮,输入你想要搜索的图标,加入购物车,保存到项目中 3.在项目中使用

  8. 前端mockjs模拟图片验证码

    ps:mockjs在进行相同的双数次请求的时候,会出现请求404的状况,希望有大佬帮解决下 首先创建dom <img id='bbn' src="" alt="图图 ...

  9. CSIC_716_20191207【并发编程---进程与线程】

    僵尸进程与孤儿进程 ........... 守护进程 from Multiprocessing  import Process 在 suboprocess.start( ) 的上一行,增加 subpr ...

  10. 【转】硬盘分区知识介绍(MBR)

    转自:http://www.blogjava.net/galaxyp/archive/2010/04/25/319344.html 硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神奇, ...