文章目录

  • 1.绘制原理
  • 2.柱状图和直方图的关系
  • 3.堆积直方图

直方图主要是应用在定量数据的可视化场景中,后者用来进行连续型数据的可视化展示。比如公共英语考试分数的区间分布、抽样调查中的人均寿命的分布特征以及居民可支配收入的分布特征。

1.绘制原理

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False# set test scores
scoresT = np.random.randint(0,100,100)x = scoresT# plot histogram
bins = range(0,101,10)plt.hist(x,bins=bins,color="#377eb8",histtype="bar",rwidth=1.0,edgecolor="#000000")
# set x,y-axis label
plt.xlabel("测试成绩")
plt.ylabel("学生人数")plt.show()

plt.hist(x,bins=bins,color="#377eb8",histtype="bar",rwidth=1.0,edgecolor="#000000")
x:连续型数据输入值
bins:用于确定柱体的个数或是柱体边缘范围
color:柱体颜色
histype:柱体类型
label:图例内容
rwidth:柱体的相对宽度,取值范围是[0.0,1.0]

2.柱状图和直方图的关系

一、直方图描述的是连续型数据的分布,柱状图描述的是离散型数据的分布,也可以说一个是描述定量数据,一个是描述定性数据。
二、从展示效果来看,柱状图的柱体之间有空隙,直方图的柱体之间没有空隙。

3.堆积直方图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False# set test scores
scoresT1 = np.random.randint(0,100,100)
scoresT2 = np.random.randint(0,100,100)x = [scoresT1,scoresT2]
colors = ["#8dd3c7","#bebada"]
labels = ["班级A","班级B"]# plot histogram
bins = range(0,101,10)plt.hist(x,bins=bins,color=colors,histtype="bar",rwidth=1.0,stacked=True,label=labels,edgecolor="#000000")# set x,y-axis label
plt.xlabel("测试成绩")
plt.ylabel("学生人数")plt.title("不同班级的测试成绩的直方图")plt.legend(loc="upper left")plt.show()


通过向函数hist()传递关键字参数stacked来实现堆积直方图的绘制任务。通过绘制堆积直方图,就可以直观的观察两个班级学生在测试中考试成绩分布特点和知识掌握情况的差异。如果不绘制堆积直方图,可以通过绘制并排放置的直方图,即“stacked=False”。


```python
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False# set test scores
scoresT1 = np.random.randint(0,100,100)
scoresT2 = np.random.randint(0,100,100)x = [scoresT1,scoresT2]
colors = ["#8dd3c7","#bebada"]
labels = ["班级A","班级B"]# plot histogram
bins = range(0,101,10)plt.hist(x,bins=bins,color=colors,histtype="bar",rwidth=0.8,stacked=False,label=labels,edgecolor="#000000")# set x,y-axis label
plt.xlabel("测试成绩")
plt.ylabel("学生人数")plt.title("不同班级的测试成绩的直方图")plt.legend(loc="upper left")plt.show()
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb4a6ce18ac6437cb0842799e4882377.png#pic_center)
# 4.直方图的不同形状——堆积阶梯型直方图```python
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as npmpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False# set test scores
scoresT1 = np.random.randint(0,100,100)
scoresT2 = np.random.randint(0,100,100)x = [scoresT1,scoresT2]
colors = ["#8dd3c7","#bebada"]
labels = ["班级A","班级B"]# plot histogram
bins = range(0,101,10)plt.hist(x,bins=bins,color=colors,histtype="stepfilled",rwidth=0.8,stacked=True,label=labels,)# set x,y-axis label
plt.xlabel("测试成绩")
plt.ylabel("学生人数")plt.title("不同班级的测试成绩的直方图")plt.legend()plt.show()

8.绘制统计图形——直方图相关推荐

  1. Python数据可视化(三)绘制统计图形大全

    3.1 柱状图 以 Python 代码的形式讲解柱状图的绘制原理,这里重点讲解 bar()函数的使用方法. 代码: import matplotlib as mpl import matplotlib ...

  2. Seaborn——绘制统计图形

    文章目录 可视化数据的分布 绘制单变量分布 绘制双变量分布 绘制成对的双变量分布 用分类数据绘图 类别散点图 通过stripplot()函数画散点图 swarmplot()函数 类别内的数据分布 绘制 ...

  3. 9.绘制统计图形——饼图

    文章目录 1.绘制原理 2.非分裂式饼图 3.绘制内嵌环形饼图 饼图是用来展示定性数据比例分布特征的统计图形.饼图主要用在进行离散型数据的比例展示.如需要展示参加硕士研究生考试的性别比例,某一年中四季 ...

  4. 11.绘制统计图形——误差棒图

    文章目录 1.应用场景--定量数据的误差范围 2.带误差棒的柱状图 3.带误差棒的条形图 4.带误差棒的多数据并列柱状图 5.带误差棒的堆积柱状图 在很多科学实验中都存在测量误差或是试验误差,这是无法 ...

  5. 7.绘制统计图形——堆积折线图、间断条形图和阶梯图

    文章目录 1.用函数stackplot()绘制堆积折线图 2.用函数broken_brah()绘制间断条形图 3.用函数step()绘制阶梯图 1.用函数stackplot()绘制堆积折线图 堆积折线 ...

  6. Matlab绘制特殊图形------直方图

    除了可以使用Excel绘制直方图之外,还可以使用Matlab绘制直方图,同时Matlab绘制的直方图更为美观,以下是使用Matlab 绘制直方图的使用方法. 一.函数hist() 该函数有两种使用方法 ...

  7. 4.绘制统计图形——条形图

    文章目录 如果将柱状图中的柱体由垂直方向变成水平方向,柱状图就变成条形图,函数也就变成 barth(x,y,align="center",color="k",t ...

  8. 【matplotlib】3-绘制统计图形

    文章目录 绘制统计图形 1.柱状图 1.1 应用场景--定性数据的分布展示 1.2 绘制原理 2.条形图 3.堆积图 3.1 堆积柱状图 3.2 堆积条形图 4.分块图 4.1 多数据并列柱状图 4. ...

  9. C++ MFC学习笔记(第三课)绘制统计直方图

    绘制统计直方图 在第二节课,用单文档程序实现鼠标画线画图后,第三节课学习了用单文档程序画统计直方图.最终效果如下.这里以统计成绩人数的为例. 1.限定直方图大小 我们先创建绘制直方图的函数,下面的代码 ...

  10. 如何用ggplot2绘制漂亮的统计图形

    导言 ggplot2 是由 Hadley Wickham 开发的一个功能十分强大的 R 语言绘图程序包,它能够非常轻松的画出各种好看的统计图形.关于 ggplot2 的教程有很多,Cédric Sch ...

最新文章

  1. mvc框架实现的流程,值得收藏
  2. Android View框架的measure机制
  3. phpstorm 点击方法跳转 后 返回 原来的位置
  4. Ubuntu8.10下修复FC7系统的home分区
  5. 《数据中心设计与运营实战》——2.6 监控基础设施
  6. hexo博客配置阿里云oss对象存储
  7. 6,bash入门,for 循环, 编写最简单的脚本
  8. DSP:6678开发板NDK网口通信完整实现(附源码)
  9. mysql unique count_MySQL - Count Number of Unique Values
  10. 17.深度学习练习:Character level language model - Dinosaurus land
  11. Nginx配置静态资源
  12. 14. 税收规则(Tax Rules)
  13. Qt file not recognized: File truncated 半分钟搞定,不用浪费过多时间重新编译
  14. excel使用教程_【免费】人人入手的办公软件(excel,ppt,word)——安装包/教程/模板合集...
  15. windows定时截屏小工具
  16. Vue脚手架H5公众号微信登陆问题及解决方式
  17. java 拍照后加上日期水印_有什么软件能批量给照片添加拍照日期的水印?
  18. html 视频类插件,科技常识:HTML5视频播放插件 video.js介绍
  19. mysql插入数据不成功_mysql插入数据失败原因分析
  20. 第五章 整合视图层技术

热门文章

  1. PS精修电影胶片调色特效[附素材及方法]
  2. C51单片机数码管静态显示(附源码及工程)
  3. android_97_TouchSlop
  4. 入门级移动App服务器的软硬件需求
  5. DMZ区的介绍及连接图
  6. Android 电源键事件流程分析
  7. android 内存分析工具ASAN 学习
  8. android studio 免费实现聊天视频功能
  9. 【Linux系列文章】磁盘、进程
  10. 周鸿祎:35告老的大富豪