使用barh()函数自己构造数据,三部电影,近三天电影票房变化绘制横向柱形图分别展示三部电影的票房总和每个电影一个柱型绘制横向柱形图分别展示三部电影近三天票房,叠加柱状图绘制横向柱状图分别展示电影近三天的票房,多柱状图
时间: 2023-08-27 10:18:14 浏览: 181
从数据库中取出最近三十天的数据并生成柱状图
好的,我可以帮助你完成这个任务。以下是一个简单的示例代码,你可以根据你自己的数据进行修改:
```python
import matplotlib.pyplot as plt
import numpy as np
# 三部电影的名称
movies = ['电影A', '电影B', '电影C']
# 三部电影近三天的票房总和
total_box_office = [250, 320, 180]
# 三部电影近三天的每日票房
day1_box_office = [80, 100, 60]
day2_box_office = [90, 120, 50]
day3_box_office = [80, 100, 70]
# 绘制票房总和的横向柱形图
plt.figure(figsize=(6, 4))
plt.barh(movies, total_box_office, color=['r', 'g', 'b'])
plt.xlabel('票房总和')
plt.title('三部电影票房总和')
plt.grid()
plt.show()
# 绘制每日票房的横向柱形图
plt.figure(figsize=(6, 4))
bar_width = 0.25
index = np.arange(len(movies))
plt.barh(index - bar_width, day1_box_office, height=bar_width, color='r', label='Day 1')
plt.barh(index, day2_box_office, height=bar_width, color='g', label='Day 2')
plt.barh(index + bar_width, day3_box_office, height=bar_width, color='b', label='Day 3')
plt.xlabel('票房')
plt.yticks(index, movies)
plt.title('三部电影近三天票房')
plt.legend()
plt.grid()
plt.show()
# 绘制叠加柱状图
plt.figure(figsize=(6, 4))
plt.barh(movies, day1_box_office, color='r', label='Day 1')
plt.barh(movies, day2_box_office, color='g', left=day1_box_office, label='Day 2')
plt.barh(movies, day3_box_office, color='b', left=np.array(day1_box_office) + np.array(day2_box_office), label='Day 3')
plt.xlabel('票房')
plt.title('三部电影近三天票房')
plt.legend()
plt.grid()
plt.show()
```
这段代码会生成三个横向柱形图,分别展示三部电影的票房总和、三部电影近三天的每日票房以及三部电影近三天票房的叠加柱状图。你可以根据自己的数据进行修改和调整。
阅读全文