一、特点

数据必须是原始数据不能经过处理,数据连续型,显示一组或多组分布数据

histogram 直方图

normed 定额

二、核心

hist(x, bins=None, normed=None)
# x是需要统计的数据,类型:数组
# bins是组数, 组数 = (max(数组)- min(数组))//组距
# normed 默认为:频数分布直方图, 值为True为: 频率分布直方图

三、示例

1、频数直方图

from matplotlib import pyplot as plt
from matplotlib import font_manager a = [131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124,
101, 110,
116, 117, 110, 128, 128, 115, 99, 136, 126, 134, 95, 138, 117, 111, 78, 132, 124, 113, 150, 110, 117, 86, 95, 144,
105, 126,
130, 126, 130, 126, 116, 123, 106, 112, 138, 123, 86, 101, 99, 136, 123, 117, 119, 105, 137, 123, 128, 125, 104,
109, 134,
125, 127, 105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114, 105, 115, 132, 145, 119, 121, 112, 139,
138, 109,
132, 134, 156, 106, 117, 127, 144, 139, 139, 119, 140, 83, 110, 102, 123, 107, 143, 115, 136, 118, 139, 123, 112,
118, 125, 109,
119, 133, 112, 114, 122, 109, 106, 123, 116, 131, 127, 115, 118, 112, 135, 115, 146, 137, 116, 103, 144, 83, 123,
111, 110, 111,
100, 154, 136, 100, 118, 119, 133, 134, 106, 129, 126, 110, 111, 109, 141, 120, 117, 106, 149, 122, 122, 110, 118,
127, 121, 114,
125, 126, 114, 140, 103, 130, 141, 117, 106, 114, 121, 114, 133, 137, 92, 121, 112, 146, 97, 137, 105, 98, 117,
112, 81, 97,
139, 113, 134, 106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110, 105, 129, 137, 112, 120, 113, 133, 112,
83, 94, 146,
133, 101, 131, 116, 111, 84, 137, 115, 122, 106, 144, 109, 123, 116, 111, 111, 133, 150, 120] my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
# 设置图行大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
movie_width = 3
num_bins = (max(a) - min(a)) // movie_width
plt.hist(a, num_bins)
# 定制x轴刻度和label
_x = list(range(min(a), max(a) + 1))
plt.xticks(_x[::movie_width])
# 添加网格
plt.grid()
# 添加说明
plt.xlabel("电影时长 单位(分)", fontproperties=my_font)
plt.ylabel("数量", fontproperties=my_font)
plt.title("电影时长频数分布直方图", fontproperties=my_font)
# 展示图片
plt.show()

2、频率直方图

频数直方图->频率直方图, 只需要在绘图的时候添加 normed=True 即可

plt.hist(a, num_bins, normed=True)

注意:

MatplotlibDeprecationWarning:
The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.
plt.hist(a, num_bins, normed=True)

四、条形图->直方图

目的:解决处理后的数据不能使用直方图的问题

方案:

1.绘图时,width=1或height=1
2.设置x轴或y轴的刻度,注意设置刻度和绘图之间没有直接的关系

例子

from matplotlib import pyplot as plt
from matplotlib import font_manager
#
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
interval = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 90]
width = [5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 30, 60]
quantity = [836, 2737, 3723, 3926, 3596, 1438, 3273, 642, 824, 613, 215, 47]
# 显示中文 # 设置图行大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
plt.bar(range(len(interval)), quantity, width=1) # 设置x轴刻度和label
_x = range(len(interval) + 1)
_x_ticks = [i - 0.5 for i in _x]
_x_label = interval + [150]
plt.xticks(_x_ticks, _x_label)
# 添加说明
plt.xlabel("间隔", fontproperties=my_font)
plt.ylabel("数量", fontproperties=my_font)
plt.title("人口普查", fontproperties=my_font)
# 添加网格
plt.grid()
# 展示图片
plt.show()

matplotlib 直方图的更多相关文章

  1. matplotlib 直方图绘制详解

    n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None) 函数说明 用于绘制多个数据集 ...

  2. 【Python】matplotlib直方图纵轴显示百分比

    其实很简单,就是算了一下百分比权重,乘以了一个权重值 import matplotlib.pyplot as plt from matplotlib.ticker import FuncFormatt ...

  3. Matplotlib直方图绘制技巧

    情境引入 我们在做机器学习相关项目时,常常会分析数据集的样本分布,而这就需要用到直方图的绘制. 在Python中可以很容易地调用matplotlib.pyplot的hist函数来绘制直方图.不过,该函 ...

  4. matplotlib直方图

    import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib.font_manager import FontPro ...

  5. Matplotlib 饼图

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

  6. Matplotlib 多个图形

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

  7. Matplotlib 图形绘制

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

  8. Matplotlib 安装

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

  9. Matplotlib 入门

    章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...

随机推荐

  1. H3C 路由的来源

  2. H3C DHCP服务器可选配置

  3. SDNU ACM-ICPC 2019 Competition For the End of Term(12-15)山师停训赛题解

    马鸿儒 目前已补:01 03 06 07 08 09 10 11目前未补:02 04 05 12 苏用 1582.柳予欣的舔狗行为 1587.柳予欣的女朋友们在分享水果 1585.柳予欣和她女朋友的购 ...

  4. JS异步解决方案

    前言 异步最早的解决方案是回调函数,如ajax,事件的回调,setInterval/setTimeout中的回调.但是回调函数有回调地狱的问题; 为了解决回调地狱的问题,社区提出了Promise解决方 ...

  5. jQuery 工具类函数-使用$.extend()扩展Object对象

    除使用$.extend扩展工具函数外,还可以扩展原有的Object对象,在扩展对象时,两个对象将进行合并,当存在相同属性名时,后者将覆盖前者,调用格式为: $. extend (obj1,obj2,… ...

  6. 实现页面查看xml或json数据类似控制台效果

    在前端查看xml或者json数据时,实现在类似与控制台中console的效果. 配合Ant Design的Collapse折叠面板进行展示. Collapse组件的地址:https://ant.des ...

  7. 前端js页面跳转

    window.location.Reload() //刷新当前页面self.location=document.referrer;通过Request Headers中Referer获得上个页面的地址并 ...

  8. CUP计算资源争抢通过IIS启用处理器关联解决

    由于业务的复杂性,我们在客户环境部署的时候,采用的是预装好在一台机器然后再把机器安装到客户环境,所以为了简单方便,我们把所有的服务都安装到一台机器上面了. 在正常的使用过程中是没有任何问题的.但是当有 ...

  9. Mac-安装Git以及Git的配置

    开始使用mac,发现真的不会用.最主要的是不熟悉,使用了才知道,mac默认是带了Git命令的. 原本使用Git生成一对密钥使用,生成的默认文件夹下面去了,与Windows一致,然后就找不到了. 打开命 ...

  10. 基于 WebSocket 的聊天和大文件上传(有进度提示)完美实现

    大家好,好久没有写文章了,当然不是不想写,主要是工作太忙,公司有没有网络环境,不让上网,所以写的就少了.今天是2019年的最后一天,明天就要开始新的一年,当然也希望自己有一个新的开始.在2019年的最 ...