本文主要是介绍使用matplotlib绘制2019年中国电影票房排行榜,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
数据来源 :
代码如下:
每一部分的作用如下:
输出如下:
数据来源 :
代码如下:
# 导入所需库
import matplotlib.pyplot as plt
import numpy as np# 设置中文字体和正常显示负号
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams["axes.unicode_minus"] = False# 定义电影名称数组和每部电影的总票房数组
labels = ["哪吒之魔童降世", "流浪地球", "复仇者联盟 4:终局之战","疯狂的外星人", "飞驰人生", "烈火英雄", "蜘蛛侠:英雄远征","速度与激情:特别行动", "扫毒 2:天地对决", "大黄蜂", "惊奇队长","比悲伤更悲伤的故事", "哥斯拉 2:怪兽之王", "阿丽塔:战斗天使","银河补习班"]
bar_width = [48.57, 46.18, 42.05, 21.83, 17.03, 16.70, 14.01, 13.84,12.85, 11.38, 10.25, 9.46, 9.27, 8.88, 8.64]# 创建一个图形和子图
fig = plt.figure()
ax = fig.add_subplot(111)# 创建纵坐标的整数列表
y_data = range(len(labels))# 绘制水平条形图,传入参数为纵坐标、横坐标数据、条形高度、颜色
ax.barh(y_data, bar_width, height=0.2, color='orange')# 设置坐标轴标签,通过字典设置标签文本的大小和颜色
ax.set_xlabel(" 总票房 ( 亿元 )", fontdict={'color':'green', 'fontsize': '15'})
ax.set_ylabel(" 电影名称 ", fontdict={'color':'green', 'fontsize': '15'})# 设置纵坐标刻度和标签
ax.set_yticks(y_data)
ax.set_yticklabels(labels)# 设置图表标题
ax.set_title("2019年中国电影票房排行榜Top15的条形图")# 显示绘制的图形
plt.show()
每一部分的作用如下:
- 导入需要的库:
matplotlib.pyplot
用于绘图,numpy
用于数值计算。 - 使用
plt.rcParams
设置中文字体和正常显示负号,确保图表中的中文和负号显示正常。 - 定义电影名称数组
labels
和每部电影的总票房数组bar_width
。 - 创建一个
figure
对象,并添加一个子图。使用fig.add_subplot
函数创建一个1x1的子图,编号为111。 - 使用
range
函数生成0至14的整数(个数与电影数相同),表示排名。将其作为条形图的纵轴坐标y_data
。 - 使用
ax.barh
函数绘制水平条形图,传入参数为纵坐标y_data
、横坐标数据bar_width
、条形高度和颜色。其中,height=0.2
指定每个条形的高度为0.2,color='orange'
指定颜色为橙色。 - 使用
ax.set_xlabel
和ax.set_ylabel
函数设置坐标轴标签。通过字典设置标签文本的大小和颜色。这里设置的是横坐标为总票房(亿元)和纵坐标为电影名称。 - 使用
ax.set_yticks
和ax.set_yticklabels
函数设置纵坐标刻度和标签。其中,set_yticks
函数传入纵坐标的整数列表y_data
,set_yticklabels
函数传入电影名称数组labels
,并将其对应到纵坐标的刻度上。 - 使用
ax.set_title
函数设置图表标题。 - 使用
plt.show()
函数显示绘制的图形。
输出如下:
这篇关于使用matplotlib绘制2019年中国电影票房排行榜的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!