柱状图使用实例1
import matplotlib.pyplot as plt
import numpy as np
#三天中三部电影的票房变化
real_names=['千与千寻','玩具总动员4','黑衣人:全球追缉']
real_num1=[5453,7548,6543] #第一天的票房数
real_num2=[1840,4013,3421] #第二天的票房数
real_num3=[1080,1673,2342] #第三天的票房数
#绘制柱状图
x=np.arange(len(real_names)) #即np.range(3)
#这样子连续画三天的柱状图,会导致重叠
plt.bar(x,real_num1) #第一天的柱状图
plt.bar(x,real_num2) #第二天的柱状图
plt.bar(x,real_num3) #第三天的柱状图
plt.show()
柱状图使用实例2
import matplotlib.pyplot as plt
import numpy as np
#三天中三部电影的票房变化
real_names=['千与千寻','玩具总动员4','黑衣人:全球追缉']
real_num1=[5453,7548,6543] #第一天的票房数
real_num2=[1840,4013,3421] #第二天的票房数
real_num3=[1080,1673,2342] #第三天的票房数
#绘制柱状图
x=np.arange(len(real_names)) #即np.range(3)
#这样子连续画三天的柱状图,会导致重叠
"""
plt.bar(x,real_num1,alpha=0.7,width=0.3) #第一天的柱状图,alpha增加透明度,width设置柱状图的宽度
plt.bar(x,real_num2,alpha=0.7,width=0.3) #第二天的柱状图,alpha增加透明度,width设置柱状图的宽度
plt.bar(x,real_num3,alpha=0.7,width=0.3) #第三天的柱状图,alpha增加透明度,width设置柱状图的宽度
"""
#为了第二天的柱状图和第一天的柱状图不重叠,即画第二天的柱状图时x轴的坐标值要有变化:[i+0.3 for i in x]
#为了第三天的柱状图和第二天的柱状图不重叠,即画第三天的柱状图时x轴的坐标值要有变化:[i+0.3*2 for i in x]
plt.bar(x,real_num1,alpha=0.7,width=0.3,label=real_names[0]) #第一天的柱状图,alpha增加透明度,width设置柱状图的宽度
plt.bar([i+0.3 for i in x],real_num2,alpha=0.7,width=0.3,label=real_names[1]) #第二天的柱状图,alpha增加透明度,width设置柱状图的宽度
plt.bar([i+0.3*2 for i in x],real_num3,alpha=0.7,width=0.3,label=real_names[2]) #第三天的柱状图,alpha增加透明度,width设置柱状图的宽度
#设置字体,解决中文乱码
plt.rcParams['font.sans-serif']=['SimHei']
#为x轴的坐标值添加名称
x_ticks=['第{}天'.format(i+1) for i in x]
#print(x_ticks)
plt.xticks(x,x_ticks) #这样添加的x轴的坐标值,都在第一天的x坐标上,不在中间位置
plt.xticks([i+0.3 for i in x],x_ticks) #这样添加的x轴的坐标值,都在第二天的x坐标上,在中间的位置
#为x轴、y轴添加名称
plt.xlabel('天数')
plt.ylabel('票房数')
#添加图例
plt.legend()
#为图标添加表名(标签名)
plt.title("3天3部电影票房数")
plt.show()