柱状图使用实例

柱状图使用实例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()
实例柱状图1.png

柱状图使用实例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()
实例柱状图2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。