python matplotlib庫繪制條形圖練習題
練習一:假設你獲取到了2017年內(nèi)地電影票房前20的電影(列表a)和電影票房數(shù)據(jù)(列表b),那么如何更加直觀的展示該數(shù)據(jù)?
a = ["戰(zhàn)狼2","速度與激情8","功夫瑜伽","西游伏妖篇","變形金剛5:最后的騎士","摔跤吧!爸爸","加勒比海盜5:死無對證","金剛:骷髏島","極限特工:終極回歸","生化危機6:終章","乘風破浪","神偷奶爸3","智取威虎山","大鬧天竺","金剛狼3:殊死一戰(zhàn)","蜘蛛俠:英雄歸來","悟空傳","銀河護衛(wèi)隊2","情圣","新木乃伊",]
b = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
from matplotlib import pyplot as plt
import matplotlib
"""繪制條形圖"""
font = {'family': 'MicroSoft YaHei'}
matplotlib.rc('font', **font) # 使支持中文
x = ["戰(zhàn)狼2","速度與激情8","功夫瑜伽","西游伏妖篇","變形金剛5:最后的騎士","摔跤吧!爸爸","加勒比海盜5:死無對證","金剛:骷髏島","極限特工:終極回歸","生化危機6:終章","乘風破浪","神偷奶爸3","智取威虎山","大鬧天竺","金剛狼3:殊死一戰(zhàn)","蜘蛛俠:英雄歸來","悟空傳","銀河護衛(wèi)隊2","情圣","新木乃伊",]
y = [56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
plt.figure(figsize=(20, 8), dpi=80) # 設置圖形大小
# plt.bar(range(len(x)), y, width=0.3) # 繪制條形圖,線條寬度
plt.barh(range(len(x)), y, height=0.3, color='orange') # 繪制橫著的條形圖,橫著的用height控制線條寬度
# 設置字符串到x軸
plt.yticks(range(len(x)),x)
plt.grid(alpha=0.3) # 添加網(wǎng)格
plt.ylabel('電影名稱')
plt.xlabel('票房')
plt.title('票房前20的電影')
plt.show()
效果圖

練習二:假設知道了列表a中電影分別在2017-09-14(b_14),2017-09-15(b_15),2017-09-16(b_16)三天的票房,為了展示列表中電影本身的票房以及同其它電影的數(shù)據(jù)對比情況,應該如何更加直觀的呈現(xiàn)數(shù)據(jù)?
a = ["猩球崛起3:終極之戰(zhàn)","敦刻爾克","蜘蛛俠:英雄歸來","戰(zhàn)狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]
from matplotlib import pyplot as plt
import matplotlib
font = {'family': 'MicroSoft YaHei'}
matplotlib.rc('font', **font) # 使支持中文
a = ["猩球崛起3:終極之戰(zhàn)","敦刻爾克","蜘蛛俠:英雄歸來","戰(zhàn)狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]
bar_width = 0.2 # 繪制多個條形圖,這里不能大于0.3
# 讓后兩個條形,向后移動一個bar_width
x_14 = list(range(len(a)))
x_15 = [i+bar_width for i in x_14]
x_16 = [i+2*bar_width for i in x_14]
plt.figure(figsize=(20, 8), dpi=80) # 設置圖形大小
plt.xticks(x_15, a) # 設置x軸刻度
plt.bar(range(len(a)), b_14, width=bar_width, label='9月14日')
plt.bar(x_15, b_15, width=bar_width, label='9月15日')
plt.bar(x_16, b_16, width=bar_width, label='9月16日')
plt.legend() # 設置圖例
plt.xlabel('電影名稱')
plt.ylabel('票房/萬')
plt.title('對比票房')
plt.savefig('./02.png')
plt.show()
效果圖

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用python創(chuàng)建股票的時間序列可視化分析
這篇文章主要為大家詳細介紹了python創(chuàng)建股票的時間序列可視化分析,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
python 列表元素左右循環(huán)移動 的多種解決方案
這篇文章主要介紹了python 列表元素左右循環(huán)移動 的多種解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python調(diào)用Pandas實現(xiàn)Excel讀取
這篇文章主要為大家介紹了在Python中如何調(diào)用Pandas實現(xiàn)Excel文件的讀取,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-04-04

