import numpy as np
import matplotlib.pylab as plt
size=8
a=np.random.random(size)
b=np.random.random(size)
c=np.random.random(size)
x=np.arange(size)
total_width,n=0.8,3
width=total_width/n
x=x-(total_width-width)/2
plt.bar(x,a,width=width)
plt.bar(x+width,b,width=width)
plt.bar(x+2*width,c,width=width)
plt.show()
countries=['挪威','德国','中国','美国','瑞典']
#金牌个数
gold_medal=[16,12,9,8,8]
#银牌个数
silver_medal=[8,10,4,10,5]
#铜牌个数
bronze_medal=[13,5,2,7,5]
#1.将x轴转化为数值
x=np.arange(len(countries))
width=0.2
#金牌起始位置
gold_x=x;
#银牌起始位置
silver_x=x+width
#铜牌起始位置
bronze_x=x+2*width
#金牌图形
plt.bar(glod_x,gold_medal,color='gold',width=width)
plt.bar(silver_x,silver_medal,color='silver',width=width)
plt.bar(bronze_x,bronze_medal,color='saddlebrown',width=width)
#标签的位置居中
plt.xticks(x+width,labels=countries)
#显示高度文本
for i in range(len(countries)):
#金牌
plt.text(gold_x[i],gold_medal[i],gold_medal[i],va="bottom",ha="center")
plt.text(silver_x[i],silver_medal[i],silver_medal[i],va="bottom",ha="center")
plt.text(bronze_x[i],bronze_medal[i],bronze_medal[i],va="bottom",ha="center")