matplotlib绘制条形图及修饰

发布时间 2023-09-04 16:43:15作者: 小铁皮000
import matplotlib.pyplot as plt
real_names=['赛尔号','洛克王国','奥拉星']
real_num1=[1234,5465,3432]
real_num2=[5646,8578,2342]
real_num3=[5344,4535,4234]
#设置画布大小
plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize=(8,6),dpi=(80))
#调用bar绘制
x=range(len(real_names))
width=0.3
plt.bar(x,real_num1,width=width,color='red',label=real_names[0])
plt.bar([i+width for i in x],real_num2,width=width,label=real_names[1])
plt.bar([i+2*width for i in x],real_num3,width=width,label=real_names[2])

plt.xlabel('天')
plt.ylabel('票房数')
plt.title('三天内三部电影的票房')

x_ticks=[f'第{i+1}天' for i in x ]
plt.xticks([i+width for i in x],x_ticks)
plt.legend()
plt.show()


#条形图使用示例barh
data= range(200,225,5)
bar_labels=['a','b','c','d','e']
#设置画布
plt.figure(figsize=(8,6))
x=range(len(bar_labels))
bars=plt.barh(x,data,height=0.6)
#设置yticks
plt.yticks(x,bar_labels,fontsize=20)
#在指定坐标位置设置内容 text
for bar,d in zip(bars,data):
x=bar.get_width()+bar.get_width()*0.05
y=bar.get_y()+bar.get_height()/2
text_data=d
plt.text(x,y,text_data,fontsize=24)
plt.show()