# -*- coding: utf-8 -*-
# 柱状图(绘制三天的电影票房数)
from matplotlib import pyplot as plt
#import numpy as np
Params['font.sans-serif']=['SimHei'] # 用来显示中文(rcParams可以解决中文乱码)
# 准备数据
x = range(1, 4)
real_name = ['电影1', '电影2', '电影3']
y1 = [2011, 2012, 2013]
y2 = [1200, 9203, 929]
y3 = [1200, 2345, 7634]# 设置画布大小
plt.figure(figsize=(8, 6), dpi=80)# 绘制条形图(纵向图bar, 横向图barh)
bar_width = 0.3
plt.bar(x, y1, width = bar_width, color='g', label='第一天') # 依次是柱状图的 宽度, 颜色
plt.bar([i+bar_width for i in x], y2, width=bar_width, color='r', label='第二天')
plt.bar([i+2*bar_width for i in x], y3, width=bar_width, color='b', label='第三天')# 设置xlabel,ylabel(x轴y轴的标签)
plt.xlabel('天数', fontsize = 10) # 设置x轴的标题(fontsize = 10 代表字体大小)
plt.ylabel('票房数', fontsize = 15) # 设置y轴标题(fontsize = 15 代表字体大小)# 调用xticks() 输出x轴的对应字(标签)
x_ticks = [f'第{i}天'for i in x]
icks([i+bar_width for i in x ],x_ticks)
plt.legend() # 绘制图例
# 添加标题名称
plt.title('电影票房', fontsize=13)# 显示柱子上的数字
for a, b in zip(x, y1): #柱子上的数字显示(a, b, '%.2f'%b, ha='center', va='bottom', fontsize=10)
for a, b in zip([i+bar_width for i in x ],y2): #柱子上的数字显示(a, b, '%.2f'%b, ha='center', va='bottom', fontsize=10)
for a, b in zip([i+2*bar_width for i in x],y3): #柱子上的数字显示(a, b, '%.2f'%b, ha='center', va='bottom', fontsize=10)
plt.show()
本文发布于:2024-01-28 06:04:51,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063931065332.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |