<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
plt.bar 方法有以下常用引數:
x
:一個陣列或者列表,代表需要繪製的條形圖的x軸的座標點。height
:一個陣列或者列表,代表需要繪製的條形圖y軸的座標點。width
:每一個條形圖的寬度,預設是0.8的寬度。bottom
: y 軸的基線,預設是0,也就是距離底部為0.align
:對齊方式,預設是 center ,也就是跟指定的 x 座標居中對齊,還有為 edge ,靠width
的正負。color
:條形圖的顏色。返回值為 BarContainer ,是一個儲存了條形圖的容器,而條形圖實際上的型別
是 matplotlib.patches.Rectangle 物件。
更多參考
比如現在有 2019 年賀歲片票房的資料(資料來源)
#票房單位億元 movies = { "流浪地球":40.78, "飛馳人生":15.77, "瘋狂的外星人":20.83, "新喜劇之王":6.10, "廉政風雲":1.10, "神探蒲松齡":1.49, "小豬佩奇過大年":1.22, "熊出沒·原始時代":6.71 }
用條形圖繪製每部電影及其票房的程式碼如下:
movies = { "流浪地球":40.78, "飛馳人生":15.77, "瘋狂的外星人":20.83, "新喜劇之王":6.10, "廉政風雲":1.10, "神探蒲松齡":1.49, "小豬佩奇過大年":1.22, "熊出沒·原始時代":6.71 } x = list(movies.keys()) y = list(movies.values()) plt.figure(figsize=(15,5)) # plt.bar(x,y,width=-0.3,align="edge",color='r',edgecolor='k') movie_df = pd.DataFrame(data={"names":list(movies.keys()),"tickets":list(movies.values())}) plt.bar("names","tickets",data=movie_df) plt.xticks(fontproperties=font,size=12) plt.yticks(range(0,45,5),["%d億"%x for x in range(0,45,5)],fontproperties=font,size=12) plt.grid()
其中 xticks
和 yticks
的用法跟之前的折線圖一樣。這裡新出現的方法是 bar , bar 常用的有3個引數,分別是 x (x軸的座標點), y (y軸的座標點)以及 width (條形的寬度)。
橫向條形圖需要使用plt.barh
這個方法跟 bar 非常的類似,只不過把方向進行旋轉。引數
跟 bar 類似,但也有區別。
如下:
其他引數跟 bar 一樣。
返回值也是 BarContainer
容器物件。
還是以以上資料為例,將電影名和票房反轉一下。
範例程式碼如下:
plt.barh(list(movies.keys()),list(movies.values())) plt.yticks(fontproperties=font,size=12)
現在有一組資料,是2019年春節賀歲片前五天的電影票房記錄。
範例程式碼如下:
movies = { "流浪地球":[2.01,4.59,7.99,11.83,16], "飛馳人生":[3.19,5.08,6.73,8.10,9.35], "瘋狂的外星人":[4.07,6.92,9.30,11.29,13.03], "新喜劇之王":[2.72,3.79,4.45,4.83,5.11], "廉政風雲":[0.56,0.74,0.83,0.88,0.92], "神探蒲松齡":[0.66,0.95,1.10,1.17,1.23], "小豬佩奇過大年":[0.58,0.81,0.94,1.01,1.07], "熊出沒·原始時代":[1.13,1.96,2.73,3.42,4.05] } plt.figure(figsize=(20,8)) width = 0.75 bin_width = width/5 movie_pd = pd.DataFrame(movies) ind = np.arange(0,len(movies)) # 第一種方案 # first_day = movie_pd.iloc[0] # plt.bar(ind-bin_width*2,first_day,width=bin_width,label='第一天') # second_day = movie_pd.iloc[1] # plt.bar(ind-bin_width,second_day,width=bin_width,label='第二天') # third_day = movie_pd.iloc[2] # plt.bar(ind,third_day,width=bin_width,label='第三天') # four_day = movie_pd.iloc[3] # plt.bar(ind+bin_width,four_day,width=bin_width,label='第四天') # five_day = movie_pd.iloc[4] # plt.bar(ind+bin_width*2,five_day,width=bin_width,label='第五天') # 第二種方案 for index in movie_pd.index: day_tickets = movie_pd.iloc[index] xs = ind-(bin_width*(2-index)) plt.bar(xs,day_tickets,width=bin_width,label="第%d天"%(index+1)) for ticket,x in zip(day_tickets,xs): plt.annotate(ticket,xy=(x,ticket),xytext=(x-0.1,ticket+0.1)) # 設定圖例 plt.legend(prop=font) plt.ylabel("單位:億",fontproperties=font) plt.title("春節前5天電影票房記錄",fontproperties=font) # 設定x軸的座標 plt.xticks(ind,movie_pd.columns,fontproperties=font) plt.xlim plt.grid(True) plt.show()
堆疊條形圖,是將一組相關的條形圖堆疊在一起進行比較的條形圖。
比如以下案例:
menMeans = (20, 35, 30, 35, 27) womenMeans = (25, 32, 34, 20, 25) groupNames = ('G1','G2','G3','G4','G5') plt.bar(groupNames,menMeans,label="男性得分") plt.bar(groupNames,womenMeans,bottom=menMeans,label='女性得分') plt.legend(prop=font)
在繪製女性得分的條形圖的時候,因為要堆疊在男性得分的條形圖上,所以使用到了一
個 bottom
引數,就是距離 x 軸的距離。通過對貼條形圖,我們就可以清楚的知道,哪一個隊伍的綜合排名是最高的,並且在每個隊伍中男女的得分情況。
到此這篇關於Matplotlib實現各種條形圖繪製的文章就介紹到這了,更多相關Matplotlib條形圖繪製內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45