Python数据分析(三)
(一)绘制条形图
绘制条形用的是matplotlib.pyplot下的bar方法
绘制横向条形图用的是matplotlib.pyplot下的barh方法
题目:绘制内地电影票房总排行榜(前20)票房对比图(数据网址:http://58921.com/alltime)
代码:
'''绘制横状条形图'''
from matplotlib import pyplot as plt
from matplotlib import font_manager
#数据
a = ['战狼2','哪吒之魔童降世','流浪地球','复仇者联盟4:终局之战','红海行动','美人鱼','唐人街探案2','我不是药神','速度与激情8',
'西虹市首富','速度与激情7','捉妖记','复仇者联盟3:无限战争','捉妖记2','羞羞的铁拳','疯狂的外星人','海王','变形金刚4:绝迹重生',
'前任3:再见前任','毒液:致命守护者']
b = [56.39,49.17,46.18,42.05,36.22,33.9,33.71,30.75,26.49,25.27,24.26,24.21,23.7,22.19,21.9,21.83,19.97,19.79,19.26,18.56]
#导入字体
My_font = font_manager.FontProperties(fname=r'./shuxing.TTF')
#设置图片尺寸与清晰度
plt.figure(figsize=(20, 8), dpi=80)
#设置y轴刻度
plt.yticks(range(len(a)), a, fontproperties=My_font)
#设置xy轴标签和图表标题(嘻嘻嘻,标题选用骚粉色···)
plt.xlabel('票房数(亿)',fontproperties=My_font,color='#f391a9')
plt.ylabel('电影名称', fontproperties=My_font,color='#f391a9')
plt.title('内地电影总排行榜(前20)',fontproperties=My_font,size=20,color='#f391a9')
#导入数据绘制条形图
plt.barh(range(len(a)), b, color='#6950a1')
#绘制网格线
plt.grid(alpha=0.3)
#展示条形图
plt.show()
效果展示:
结论
条形图用于绘制离散数据,统计数据,比较数据之间的差别。