考察知识点:绘制横向柱状图 使用 barh ()函数,按如下要求绘制横向柱状图 需要满足以下条件: 1.自己构造数据:三部电影,近三天的票房变化(蜘蛛侠:第一天票房983.45;第二天票房1000.35;第三题票房1297.40。速10:第一天票房180.73;第二天票房248.76;第三天票房573.83。人生路不熟:第一天票房86.35;第二天票房249.50;第三天票房352.13) 2.绘制横向柱状图,分别展示三部电影近三天票房总和(每部电影一个柱型) 3.绘制横向柱状图,分别展示三部电影近三天的票房(叠加柱状图)
时间: 2023-08-27 13:24:30 浏览: 130
好的,我来回答你的问题。
首先,感谢您的问题。关于您的问题,我可以回答如下:
以下是绘制横向柱状图的代码,满足您的要求:
```python
import matplotlib.pyplot as plt
# 构造数据
movies = ['蜘蛛侠', '速10', '人生路不熟']
day1 = [983.45, 180.73, 86.35]
day2 = [1000.35, 248.76, 249.50]
day3 = [1297.40, 573.83, 352.13]
# 绘制柱状图
plt.barh(movies, [sum(day1), sum(day2), sum(day3)], label='票房总和')
plt.barh(movies, day1, label='第一天')
plt.barh(movies, day2, label='第二天', left=day1)
plt.barh(movies, day3, label='第三天', left=[day1[i] + day2[i] for i in range(len(movies))])
# 添加图例
plt.legend()
# 设置标题和坐标轴标签
plt.title('近三天票房变化')
plt.xlabel('票房(万元)')
plt.ylabel('电影')
# 显示图形
plt.show()
```
解释一下代码:
- 首先,我们使用 `import` 语句导入了 `matplotlib.pyplot` 模块,该模块提供了用于绘制图形的函数和类。
- 然后,我们构造了三个列表 `movies`、`day1`、`day2` 和 `day3`,分别表示电影名称和三天的票房变化。
- 接下来,我们使用 `plt.barh()` 函数绘制了三个柱状图,分别表示三部电影的票房变化情况。其中,第一个柱状图展示了电影近三天的票房总和,后面两个柱状图则分别展示了电影近三天的票房变化情况。由于我们需要绘制横向柱状图,因此使用了 `plt.barh()` 函数。
- 最后,我们添加了图例、设置了标题和坐标轴标签,并使用 `plt.show()` 函数显示了图形。
希望这个代码对您有所帮助!如果您有其他问题,随时都可以问我哦!
阅读全文