使用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()

每一部分的作用如下:

  1. 导入需要的库:matplotlib.pyplot用于绘图,numpy用于数值计算。
  2. 使用plt.rcParams设置中文字体和正常显示负号,确保图表中的中文和负号显示正常。
  3. 定义电影名称数组labels和每部电影的总票房数组bar_width
  4. 创建一个figure对象,并添加一个子图。使用fig.add_subplot函数创建一个1x1的子图,编号为111。
  5. 使用range函数生成0至14的整数(个数与电影数相同),表示排名。将其作为条形图的纵轴坐标y_data
  6. 使用ax.barh函数绘制水平条形图,传入参数为纵坐标y_data、横坐标数据bar_width、条形高度和颜色。其中,height=0.2指定每个条形的高度为0.2,color='orange'指定颜色为橙色。
  7. 使用ax.set_xlabelax.set_ylabel函数设置坐标轴标签。通过字典设置标签文本的大小和颜色。这里设置的是横坐标为总票房(亿元)和纵坐标为电影名称。
  8. 使用ax.set_yticksax.set_yticklabels函数设置纵坐标刻度和标签。其中,set_yticks函数传入纵坐标的整数列表y_dataset_yticklabels函数传入电影名称数组labels,并将其对应到纵坐标的刻度上。
  9. 使用ax.set_title函数设置图表标题。
  10. 使用plt.show()函数显示绘制的图形。

输出如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值