考察知识点:绘制横向柱状图。 使用 barh()函数,按如下要求绘制横向柱状图 需要满足以下条件:。 1. 自己构造数据:三部电影,近三天的票房变化 (电影名字和每天票房数据自己定义)。 2. 绘制横向柱状图,分别展示三部电影近三天票房总和(每部电影一个柱型)。 3. 绘制横向柱状图,分别展示三部电影近三天的票房(叠加柱状图)。4.绘制横向柱状图,分别展示三部电影近三天的票房(多柱状图)
时间: 2024-03-10 21:46:56 浏览: 198
好的,我可以为您提供代码实现,以下是您需要的代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 构造数据
movies = ['电影1', '电影2', '电影3']
day1 = [120, 80, 200]
day2 = [150, 100, 180]
day3 = [100, 140, 220]
# 计算票房总和
total = [sum(day1), sum(day2), sum(day3)]
# 绘制横向柱状图1
plt.figure(figsize=(8, 4))
plt.barh(movies, total, color=['green', 'blue', 'orange'])
plt.title('三部电影近三天票房总和')
plt.xlabel('票房总和')
plt.ylabel('电影')
plt.show()
# 绘制横向柱状图2
plt.figure(figsize=(8, 4))
bar_width = 0.2
index = np.arange(len(movies))
plt.barh(index, day1, height=bar_width, color='green', label='Day 1')
plt.barh(index + bar_width, day2, height=bar_width, color='blue', label='Day 2')
plt.barh(index + bar_width*2, day3, height=bar_width, color='orange', label='Day 3')
plt.title('三部电影近三天票房')
plt.xlabel('票房')
plt.ylabel('电影')
plt.yticks(index + bar_width, movies)
plt.legend()
plt.show()
# 绘制横向柱状图3
plt.figure(figsize=(8, 4))
bar_width = 0.2
index = np.arange(len(movies))
plt.barh(index - bar_width, day1, height=bar_width, color='green', label='Day 1')
plt.barh(index, day2, height=bar_width, color='blue', label='Day 2')
plt.barh(index + bar_width, day3, height=bar_width, color='orange', label='Day 3')
plt.title('三部电影近三天票房')
plt.xlabel('票房')
plt.ylabel('电影')
plt.yticks(index, movies)
plt.legend()
plt.show()
```
运行代码后,您可以看到绘制出来的横向柱状图。第一个柱状图展示了三部电影近三天的票房总和,每部电影一个柱型;第二个柱状图展示了三部电影近三天的票房,叠加在一起;第三个柱状图展示了三部电影近三天的票房,每天一个柱型。
阅读全文