區(qū)別:
首先,條形圖是用條形的長度表示各類別頻數(shù)的多少,其寬度(表示類別)則是固定的;
直方圖是用面積表示各組頻數(shù)的多少,矩形的高度表示每一組的頻數(shù)或頻率,寬度則表示各組的組距,因此其高度與寬度均有意義。
其次,由于分組數(shù)據(jù)具有連續(xù)性,直方圖的各矩形通常是連續(xù)排列,而條形圖則是分開排列。
最后,條形圖主要用于展示分類數(shù)據(jù),而直方圖則主要用于展示數(shù)據(jù)型數(shù)據(jù),我們初中學的就是條形統(tǒng)計圖,很顯然有沒有當初那種感覺?(身高-年齡 條形統(tǒng)計圖)在坐標上畫出每個年齡對應的頻數(shù)。這就是我們研究數(shù)據(jù)分布最喜歡用的。如果還是有點蒙,下面相同數(shù)據(jù)對比一下這兩種圖像你就會明白!
數(shù)據(jù):
年齡 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 總數(shù) |
人數(shù) | 3 | 6 | 7 | 11 | 13 | 18 | 15 | 11 | 7 | 5 | 4 | 100 |
條形統(tǒng)計圖(注重每類多少個):
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條形箱的數(shù)目
plt.grid(axis='y', alpha=0.4) #alpha 網(wǎng)格顏色深度
plt.xlabel('age')
plt.ylabel('count')
plt.title('100個樣本分布如下')
plt.text(20, 40, r'$\mu=0, sigma=1$')#前面是坐標,寫字
# plt.ylim(19) #設置y的范圍
plt.show()
對比兩個圖就能知道,條形圖將類別對的死死的,但是直方圖就用間隔來劃分每一柱多少,雖然大體相差不大,但是對于數(shù)據(jù)研究那影響可大也可小。總之了解了區(qū)別才能避免不必要的犯錯。
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
