世界电影票房前十名统计图
世界电影票房前十名的数据如下:
- 阿凡达 : 28.47 亿美元
- 复仇者联盟4:终局之战 : 27.97 亿美元
- 泰坦尼克号 : 22.02 亿美元
- 星球大战:原力觉醒 : 20.69 亿美元
- 复仇者联盟3:无限战争 : 20.48 亿美元
- 蜘蛛侠:英雄无归 : 18.89 亿美元
- 侏罗纪世界 : 16.71 亿美元
- 狮子王 : 16.63 亿美元
- 复仇者联盟 : 15.19 亿美元
- 速度与激情7 : 15.12 亿美元
绘制纵向条形图
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc("font",family='KaiTi')
movies = [
{'name': "阿凡达", 'tickets':"28.47"},
{'name': "复仇者联盟4\n:终局之战", 'tickets':"27.97"},
{'name': "泰坦尼克号", 'tickets':"22.02"},
{'name': "星球大战\n:原力觉醒", 'tickets':"20.69"},
{'name': "复仇者联盟3\n:无限战争", 'tickets':"20.48"},
{'name': "蜘蛛侠:\n英雄无归", 'tickets':"18.89"},
{'name': "侏罗纪世界", 'tickets':"16.71"},
{'name': "狮子王", 'tickets':"16.63"},
{'name': "复仇者联盟", 'tickets':"15.19"},
{'name': "速度与激情7", 'tickets':"15.12"},
]
plt.figure(figsize=(8,5))
i = 0
names = []
for movie in movies:
names.append(movies[i].get('name'))
i += 1
# 提取电影名
plt.xticks(range(len(names)), names, rotation=45)
# 将电影名与x轴刻度对应
j = 0
tickets = []
for movie in movies:
tickets.append(float(movies[j].get('tickets')))
j += 1
# 提取票房数据
plt.yticks(range(int(min(tickets)), int(max(tickets))+2))
plt.ylim(ymin=14)
# 设置y轴刻度范围,使坐标刻度从十四开始
plt.title('前十名票房的数据统计')
plt.xlabel("名称", loc='right')
plt.ylabel("票房(单位:亿美元)", loc='top')
# 设置坐标轴和图像标签
plt.bar(names, tickets, width=0.5)
plt.subplots_adjust(left=0.1, right=0.97, top=0.95, bottom=0.2)
plt.grid(alpha=0.3)
plt.show()
- 绘制命令为
bar()
- 图像Y轴默认从0开始;
- 可通过
plt.ylim(ymin= )
设置开始值; - plt.figure()的设置要再绘图开始的最前,否则会输出两张图片;
输出结果为: