Python 条形图与直方图有非常大的区别

您所在的位置:网站首页 统计中直方图和直条图的区别 Python 条形图与直方图有非常大的区别

Python 条形图与直方图有非常大的区别

2023-06-10 14:31| 来源: 网络整理| 查看: 265

区别:

首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的;

直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。

其次,由于分组数据具有连续性,直方图的各矩形通常是连续排列,而条形图则是分开排列。

最后,条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据,我们初中学的就是条形统计图,很显然有没有当初那种感觉?(身高-年龄 条形统计图)在坐标上画出每个年龄对应的频数。这就是我们研究数据分布最喜欢用的。如果还是有点蒙,下面相同数据对比一下这两种图像你就会明白!

数据: 年龄012345678910总数人数3671113181511754100 条形统计图(注重每类多少个): import matplotlib.pyplot as plt import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文 plt.rcParams['axes.unicode_minus']=False #正常显示负号 # d=pd.read_excel('E:\Python\projects\data\data100.xlsx',header=None) # d=d[0] # d=list(d) ages=range(11) count=[3,6,7,11,13,18,15,11,7,5,4] plt.bar(ages,count, label='graph 1') # params # x: 条形图x轴 # y:条形图的高度 # width:条形图的宽度 默认是0.8 # bottom:条形底部的y坐标值 默认是0 # align:center / edge 条形图是否以x轴坐标为中心点或者是以x轴坐标为边缘 plt.legend() plt.xlabel('ages') plt.ylabel('count') plt.title(u'测试例子——条形图') for i in range(11): plt.text(i,count[i]+0.1,"%s"%count[i],va='center') plt.show()

直方图: import matplotlib.pyplot as plt import matplotlib.mlab as mlab import numpy as np import pandas as pd plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文 plt.rcParams['axes.unicode_minus']=False #正常显示负号 # d=np.random.normal(0,1,100) d=pd.read_excel('E:\Python\projects\data\data100.xlsx',header=None) d=d[0] d=list(d) print(d) n, bins, patches = plt.hist(x=d, bins=11, color='#0504aa', alpha=0.8, rwidth=0.6) #alpha 是颜色深度 rwidth 条形宽度,bins条形箱的数目 plt.grid(axis='y', alpha=0.4) #alpha 网格颜色深度 plt.xlabel('age') plt.ylabel('count') plt.title('100个样本分布如下') plt.text(20, 40, r'$\mu=0, sigma=1$')#前面是坐标,写字 # plt.ylim(19) #设置y的范围 plt.show()

对比两个图就能知道,条形图将类别对的死死的,但是直方图就用间隔来划分每一柱多少,虽然大体相差不大,但是对于数据研究那影响可大也可小。总之了解了区别才能避免不必要的犯错。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3