Matplotlib入门笔记(四)——直方图的绘制

直方图的两个概念:


  • 组数:在统计数据时,数据被分成的组的个数
  • 组距:每一组两个端点的差

直方图与柱状图的对比:

  1. 直方图展示数据的分布,柱状图比较数据的大小
  2. 直方图x轴为定量数据,柱状图x轴为分类数据
  3. 直方图柱子间无间隔,柱状图有间隔
  4. 直方图柱子宽度可以不同,柱状图柱子宽度必须相同

直方图的绘制:

plt.hist(x, bins=None, density=None, **kwargs)

  • x:要画图的数据
  • bins:组数
  • density:是否显示频率
# 需求:电影时长的分布状况
import random
import matplotlib.pyplot as plt

# 1.准备数据
time = [random.randint(100, 160) for i in range(200)]

# 2.创建画布
plt.figure(figsize=(20, 8), dpi=80)

# 3.绘制图像
distance = 2 #组距
group_number = (max(time) - min(time)) // distance #//代表地板除,只返回商的整数部分,相当于强制取整
plt.hist(time, bins=group_number, density=True)

# 修改x轴刻度
plt.xticks(range(min(time), max(time) + 2, distance))

# 添加网格线
plt.grid(linestyle='--', alpha=0.5)

# 添加坐标轴描述
plt.xlabel('电影播放时长/s')
plt.ylabel('电影的数据量')

# 添加标题
plt.title('电影播放时长分布')

# 4.显示图像
plt.show()

显示效果:

在这里插入图片描述

直方图的注意点:

  1. 注意组距,得到满意的展示效果
  2. 注意y轴所代表的变量是频数还是频率

直方图的应用场景:

  • 用于表示分布情况
  • 通过直方图还可以观察和估计哪些数据比较集中,异常或者孤立的数据分布在何处

发布了10 篇原创文章 · 获赞 2 · 访问量 660

猜你喜欢

转载自blog.csdn.net/m0_45654959/article/details/105169502