国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 畫(huà)條形圖(柱狀圖)實(shí)例

瀏覽:64日期:2022-07-29 09:57:18

條形圖(bar chart),也稱為柱狀圖,是一種以長(zhǎng)方形的長(zhǎng)度為變量的統(tǒng)計(jì)圖表,長(zhǎng)方形的長(zhǎng)度與它所對(duì)應(yīng)的變量數(shù)值呈一定比例。

1. 豎放條形圖

畫(huà)條形圖要用到 pyplot 中的 bar 函數(shù),該函數(shù)的基本語(yǔ)法為:

bar(x, height, [width], **kwargs)

x 數(shù)組,每個(gè)條形的橫坐標(biāo) height 個(gè)數(shù)或一個(gè)數(shù)組,條形的高度 [width] 可選參數(shù),一個(gè)數(shù)或一個(gè)數(shù)組,條形的寬度,默認(rèn)為 0.8 **kwargs 不定長(zhǎng)的關(guān)鍵字參數(shù),用字典形式設(shè)置條形圖的其他屬性

**kwargs 中常設(shè)置的參數(shù)包括圖形標(biāo)簽 label,顏色標(biāo)簽 color,不透明度 alpha 等。

假設(shè)某項(xiàng)針對(duì)男女大學(xué)生購(gòu)買(mǎi)飲用水愛(ài)好的調(diào)查結(jié)果如下表:

男 女 碳酸飲料 6 9 綠茶 7 4 礦泉水 6 4 其他 2 6 果汁 1 5 總計(jì) 22 28

畫(huà)出男生飲用水情況的直方圖,代碼如下:

import matplotlib.pyplot as plt# 這兩行代碼解決 plt 中文顯示的問(wèn)題plt.rcParams[’font.sans-serif’] = [’SimHei’]plt.rcParams[’axes.unicode_minus’] = Falsewaters = (’碳酸飲料’, ’綠茶’, ’礦泉水’, ’果汁’, ’其他’)buy_number = [6, 7, 6, 1, 2]plt.bar(waters, buy_number)plt.title(’男性購(gòu)買(mǎi)飲用水情況的調(diào)查結(jié)果’)plt.show()

圖形:

python 畫(huà)條形圖(柱狀圖)實(shí)例

2. 橫放條形圖

若要生成橫的條形圖,則可以使用 barh 函數(shù),其語(yǔ)法與 bar 函數(shù)非常類(lèi)似。

bar(x, width, [height], **kwargs)

y 數(shù)組,每個(gè)條形的縱坐標(biāo) width 一個(gè)數(shù)或一個(gè)數(shù)組,條形的寬度 [height] 可選參數(shù),一個(gè)數(shù)或一個(gè)數(shù)組,條形的高度,默認(rèn)為 0.8 **kwargs 不定長(zhǎng)的關(guān)鍵字參數(shù),用字典形式設(shè)置條形圖的其他屬性

代碼:

import matplotlib.pyplot as plt# 這兩行代碼解決 plt 中文顯示的問(wèn)題plt.rcParams[’font.sans-serif’] = [’SimHei’]plt.rcParams[’axes.unicode_minus’] = Falsewaters = (’碳酸飲料’, ’綠茶’, ’礦泉水’, ’果汁’, ’其他’)buy_number = [6, 7, 6, 1, 2]plt.barh(waters, buy_number) # 橫放條形圖函數(shù) barhplt.title(’男性購(gòu)買(mǎi)飲用水情況的調(diào)查結(jié)果’)plt.show()

python 畫(huà)條形圖(柱狀圖)實(shí)例

3. 并列條形圖

若要將男生與女生的調(diào)查情況畫(huà)出兩個(gè)條形圖一塊顯示,則可以使用 bar 或 barh 函數(shù)兩次,并調(diào)整 bar 或 barh 函數(shù)的條形圖位置坐標(biāo)以及相應(yīng)刻度,使得兩組條形圖能夠并排顯示。

import matplotlib.pyplot as pltimport numpy as np# 這兩行代碼解決 plt 中文顯示的問(wèn)題plt.rcParams[’font.sans-serif’] = [’SimHei’]plt.rcParams[’axes.unicode_minus’] = False# 輸入統(tǒng)計(jì)數(shù)據(jù)waters = (’碳酸飲料’, ’綠茶’, ’礦泉水’, ’果汁’, ’其他’)buy_number_male = [6, 7, 6, 1, 2]buy_number_female = [9, 4, 4, 5, 6]bar_width = 0.3 # 條形寬度index_male = np.arange(len(waters)) # 男生條形圖的橫坐標(biāo)index_female = index_male + bar_width # 女生條形圖的橫坐標(biāo)# 使用兩次 bar 函數(shù)畫(huà)出兩組條形圖plt.bar(index_male, height=buy_number_male, width=bar_width, color=’b’, label=’男性’)plt.bar(index_female, height=buy_number_female, width=bar_width, color=’g’, label=’女性’)plt.legend() # 顯示圖例plt.xticks(index_male + bar_width/2, waters) # 讓橫坐標(biāo)軸刻度顯示 waters 里的飲用水, index_male + bar_width/2 為橫坐標(biāo)軸刻度的位置plt.ylabel(’購(gòu)買(mǎi)量’) # 縱坐標(biāo)軸標(biāo)題plt.title(’購(gòu)買(mǎi)飲用水情況的調(diào)查結(jié)果’) # 圖形標(biāo)題plt.show()

python 畫(huà)條形圖(柱狀圖)實(shí)例

補(bǔ)充知識(shí):Python 條形圖與直方圖有非常大的區(qū)別

區(qū)別:

首先,條形圖是用條形的長(zhǎng)度表示各類(lèi)別頻數(shù)的多少,其寬度(表示類(lèi)別)則是固定的;

直方圖是用面積表示各組頻數(shù)的多少,矩形的高度表示每一組的頻數(shù)或頻率,寬度則表示各組的組距,因此其高度與寬度均有意義。

其次,由于分組數(shù)據(jù)具有連續(xù)性,直方圖的各矩形通常是連續(xù)排列,而條形圖則是分開(kāi)排列。

最后,條形圖主要用于展示分類(lèi)數(shù)據(jù),而直方圖則主要用于展示數(shù)據(jù)型數(shù)據(jù),我們初中學(xué)的就是條形統(tǒng)計(jì)圖,很顯然有沒(méi)有當(dāng)初那種感覺(jué)?(身高-年齡 條形統(tǒng)計(jì)圖)在坐標(biāo)上畫(huà)出每個(gè)年齡對(duì)應(yīng)的頻數(shù)。這就是我們研究數(shù)據(jù)分布最喜歡用的。如果還是有點(diǎn)蒙,下面相同數(shù)據(jù)對(duì)比一下這兩種圖像你就會(huì)明白!

數(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)計(jì)圖(注重每類(lèi)多少個(gè)):import matplotlib.pyplot as pltimport numpy as npimport pandas as pdplt.rcParams[’font.sans-serif’]=[’SimHei’] #正常顯示中文plt.rcParams[’axes.unicode_minus’]=False #正常顯示負(fù)號(hào) # d=pd.read_excel(’E:Pythonprojectsdatadata100.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:條形圖的寬度 默認(rèn)是0.8# bottom:條形底部的y坐標(biāo)值 默認(rèn)是0# align:center / edge 條形圖是否以x軸坐標(biāo)為中心點(diǎn)或者是以x軸坐標(biāo)為邊緣plt.legend()plt.xlabel(’ages’)plt.ylabel(’count’)plt.title(u’測(cè)試?yán)印獥l形圖’) for i in range(11): plt.text(i,count[i]+0.1,'%s'%count[i],va=’center’) plt.show()

python 畫(huà)條形圖(柱狀圖)實(shí)例

直方圖:

import matplotlib.pyplot as pltimport matplotlib.mlab as mlabimport numpy as npimport pandas as pdplt.rcParams[’font.sans-serif’]=[’SimHei’] #正常顯示中文plt.rcParams[’axes.unicode_minus’]=False #正常顯示負(fù)號(hào)# d=np.random.normal(0,1,100)d=pd.read_excel(’E:Pythonprojectsdatadata100.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個(gè)樣本分布如下’)plt.text(20, 40, r’$mu=0, sigma=1$’)#前面是坐標(biāo),寫(xiě)字# plt.ylim(19) #設(shè)置y的范圍 plt.show()

python 畫(huà)條形圖(柱狀圖)實(shí)例

對(duì)比兩個(gè)圖就能知道,條形圖將類(lèi)別對(duì)的死死的,但是直方圖就用間隔來(lái)劃分每一柱多少,雖然大體相差不大,但是對(duì)于數(shù)據(jù)研究那影響可大也可小。總之了解了區(qū)別才能避免不必要的犯錯(cuò)。

以上這篇python 畫(huà)條形圖(柱狀圖)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 免费亚洲黄色 | 精产网红自拍在线 | 日韩精品a | 免费观看视频成人国产 | 欧美午夜三级我不卡在线观看 | 国产精品亚洲精品影院 | 九九精品在线观看 | 黄色三级在线播放 | 一级片在线免费看 | 91成人爽a毛片一区二区 | 日本韩国一级毛片中文字幕 | 久操福利视频 | 欧美一区二区三区久久久人妖 | 免费国产综合视频在线看 | 欧美俄罗斯一级毛片激情 | japanese日本tube色系 | 久色乳综合思思在线视频 | 色综合久久91 | 99精品在线观看视频 | aa日本| 亚洲一区二区影院 | 亚洲精品天堂一区在线观看 | 欧美日韩一区二区三区视频在线观看 | 久艹在线视频 | 国产成人精品免费视频大全五级 | 99在线观看视频免费精品9 | 国产精品九九久久一区hh | 伊在人香蕉99久久 | 最新中文字幕视频 | 久久久久性 | 日韩三级在线 | 成人免费大片a毛片 | 三级毛片网| 亚洲高清在线播放 | 草久免费视频 | 亚洲欧美国产高清va在线播放 | 国产精品美女一区二区 | 亚洲免费高清视频 | 日韩在线 中文字幕 | 久久九九精品视频 | 国产成人精品无缓存在线播放 |