笔记:编写程序,绘制一个展示 2019 年内地电影票房排行榜的条形图。


前言

编写程序。根据实例 1 的要求,绘制一个展示 2019 年内地电影票房排行榜的条形图,实现过程如下:
(1) 导入 matplotlib.pyplot 模块;
(2) 准备 x 轴和 y 轴的数据;
(3) 绘制条形图;
(4) 设置 x 轴的标签为“总票房(亿元)”;
(5) 设置 y 轴的标签为“电影名称”;
(6) 设置 y 轴的刻度标签为每部电影的名称。

本程序旨在通过绘制条形图展示2019年内地电影票房排行榜,以便于观察各部电影在票房上的表现。所使用的数据来源于可靠的电影票房统计机构,其中包括了2019年内地电影市场的一些最受欢迎的影片。通过matplotlib库中的pyplot模块,我们可以轻松地将数据可视化为直观的条形图,帮助读者更直观地了解各部电影的票房情况。

现在让我们开始编写程序,绘制出这份令人期待的电影票房排行榜吧!

一、条形图是什么?

条形图(也称为柱状图)是一种常用的数据可视化方式,用于展示不同类别之间的数量或数值关系。它由一系列矩形条组成,每个矩形的长度(或高度,取决于水平或垂直方向的布局)表示相应类别的数值大小。

条形图通常用于比较各类别之间的数量差异或趋势变化。例如,可以用条形图来比较不同产品的销售额、不同城市的人口数量或不同时间段的收入变化等。在电影票房排行榜的例子中,条形图可以显示各部电影的票房收入,让观众一目了然地看出各部电影之间的票房差异。

条形图的优点之一是简单直观,易于理解和解释。同时,通过调整条形的颜色、宽度、间隔等参数,可以使得图表更具吸引力和可读性。

二、程序

代码如下(示例):

# 导入matplotlib库中的pyplot模块,并将其命名为plt
import matplotlib.pyplot as plt

# 设置中文显示字体为SimHei
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]

# 创建一个画布,设置大小为15x6英寸
fig = plt.figure(figsize=(15, 6))

# 添加一个子图到画布,11列的第1个子图
ax = fig.add_subplot(111)

# 绘制水平条形图
ax.barh(range(len(labels)), bar_width, height=0.3, color='orange')

# 设置 x 轴标签
ax.set_xlabel("总票房(亿元)")

# 设置 y 轴标签
ax.set_ylabel("电影名称")

# 设置 y 轴刻度线位置和刻度标签
ax.set_yticks(range(len(labels)))
ax.set_yticklabels(labels)

# 显示图形
plt.show()

这段代码是使用matplotlib库中的pyplot模块来绘制一个展示2019年内地电影票房排行榜的水平条形图。下面是代码的分析:

  1. 导入了matplotlib.pyplot模块,并将其命名为plt。
  2. 设置了中文显示字体为SimHei,以解决中文显示乱码的问题。
  3. 解决了负号’-'显示为方块的问题。
  4. 定义了电影名称列表labels,其中包含了2019年内地的电影名称。
  5. 定义了电影票房数据bar_width,包含了对应电影的票房数据,单位为亿元。
  6. 创建了一个大小为15x6英寸的画布。
  7. 添加了一个子图到画布中,这个子图是1行1列的第1个子图。
  8. 使用barh函数绘制了水平条形图,参数包括电影数量的范围、对应的票房数据、条形图的宽度和颜色。
  9. 设置了x轴标签为“总票房(亿元)”。
  10. 设置了y轴标签为“电影名称”。
  11. 设置了y轴刻度线的位置和刻度标签,使得每个刻度对应一部电影名称。
  12. 最后调用plt.show()显示图形。

整体来说,这段代码通过matplotlib绘制了一个直观的电影票房排行榜条形图,清晰地展示了各电影的票房情况。

结果图如下:
在这里插入图片描述


总结

代码使用了Python中的matplotlib库绘制了一张展示2019年内地电影票房排行榜的水平条形图。通过分析代码,我们可以得出以下几点结论:

  1. 代码通过导入matplotlib.pyplot模块实现图形绘制功能。
  2. 使用了中文显示字体SimHei和解决负号显示问题,确保图表中文显示正常。
  3. 定义了电影名称列表和对应的票房数据,作为条形图的数据源。
  4. 创建了一个画布,并添加了一个子图,设置了画布的大小和子图的位置。
  5. 使用barh函数绘制了水平条形图,设置了条形图的宽度和颜色。
  6. 设置了x轴和y轴的标签,以及y轴刻度标签,使得图表信息清晰明了。
  7. 最后调用plt.show()显示图形。

代码的执行结果是一张直观的电影票房排行榜条形图,清晰地展示了2019年内地各电影的票房情况。这种可视化方式有助于读者快速了解各电影的票房表现,对电影市场的分析和研究具有重要意义。

  • 54
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辞言i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值