利用matplotlib绘制条形图,看2019年最新电影票房排行

闲暇之余,利用matplotlib来绘制条形图,针对2019年电影票房排行的情况,能够更加直观的看出票房排行情况,让人眼前一亮的赶脚,先来看看演示样例吧,之后会跟着matplotlib的代码,有喜欢的可以自己动手试一下。


横版条形图


正常版本条形图

正常版本条形图的代码如下:

'''

以2019年内地电影票房总排行榜电影名和总票房为例,做一个直方图

'''

import matplotlib.pyplotas plt

#电影名

movie_name = ["流浪地球","复仇者联盟4:终局之战","疯狂的外星人","飞驰人生","蜘蛛侠:英雄远征","大黄蜂","扫毒2天地对决","惊奇队长",

"比悲伤更悲伤的故事","哥斯拉2:怪兽之王","阿丽塔:战斗天使","反贪风暴4","熊出没·原始时代","大侦探皮卡丘","新喜剧之王",

"狮子王","千与千寻","绿皮书","白蛇:缘起","最好的我们"]

#总票房,单位:亿

movie_total_box_office = [46.81,42.05,21.83,17.03,13.46,11.38,10.78,10.25,9.46,9.26,8.88,7.88,7.09,6.34,

6.19,5.27,4.79,4.73,4.55,4.08]

#设置图形大小

plt.figure(figsize=(18,12),dpi=80)

#绘制条形图

plt.bar(range(len(movie_name)), movie_total_box_office,width=0.5,color='orange')#bar绘制正常的条形图,x轴对应movie_name, y轴对应movie_total_box_office

#设置字符串到x轴fontproperties="SimHei" 设置显示汉字(黑体)

plt.xticks(range(len(movie_name)), movie_name,fontproperties="SimHei",rotation=45)

step = []#初始x轴刻度

for iin range(50):#用for循环增加step的刻度值

    step.append(i)

plt.yticks(step)

plt.grid(alpha=0.3)

#保存成图片

plt.savefig("./movie.png")

plt.show()

横版条形图的代码如下:

'''

以2019年内地电影票房总排行榜电影名和总票房为例,做一个横版直方图

'''

import matplotlib.pyplotas plt

#from matplotlib.font_manager import FontProperties

#font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)

#电影名

movie_name = ["流浪地球","复仇者联盟4:终局之战","疯狂的外星人","飞驰人生","蜘蛛侠:英雄远征","大黄蜂","扫毒2天地对决","惊奇队长",

"比悲伤更悲伤的故事","哥斯拉2:怪兽之王","阿丽塔:战斗天使","反贪风暴4","熊出没·原始时代","大侦探皮卡丘","新喜剧之王",

"狮子王","千与千寻","绿皮书","白蛇:缘起","最好的我们"]

#总票房,单位:亿

movie_total_box_office = [46.81,42.05,21.83,17.03,13.46,11.38,10.78,10.25,9.46,9.26,8.88,7.88,7.09,6.34,

6.19,5.27,4.79,4.73,4.55,4.08]

#设置图形大小

plt.figure(figsize=(18,12),dpi=80)

#绘制横版条形图

plt.barh(range(len(movie_name)), movie_total_box_office,height=0.5,color='green')#bar绘制条形图,x轴对应movie_name, y轴对应movie_total_box_office

#设置字符串到y轴fontproperties="SimHei" 设置显示汉字(黑体)

plt.yticks(range(len(movie_name)), movie_name,fontproperties="SimHei")

step = []#初始x轴刻度

for iin range(50):#用for循环增加step的刻度值

    step.append(i)

plt.xticks(step)

plt.grid(alpha=0.3)

#保存成图片

plt.savefig("./movie1.png")

plt.show()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容