bar(left, height, width, color, align, yerr)函数:绘制柱形图。left为x轴的位置序列,一般采用arange函数产生一个序列;height为y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据;width为柱形图的宽度,一般这是为1即可;color为柱形图填充的颜色;align设置plt.xticks()函数中的标签的位置;yerr让柱形图的顶端空出一部分。
plt.title(‘图的标题’)函数:为图形添加标题。
plt.xticks(*args, **kwargs)函数:设置X轴的值域。
plt.legend(*args, **kwargs)函数:添加图例。参数必须为元组legend((line1, line2, line3), (‘label1’, ‘label2’,’label3’))
plt.xlim(a,b)函数:设置x轴的范围。
plt.ylim(a,b)函数:设置y周的范围。
Plt.xticks(*args, **kwargs)函数:获取或者设置X轴当前刻度的标签。Tuple1,tuple2长度相等,tuple1为对应的刻度,tuple2为对应刻度的标签。
import numpy as np
from matplotlib import pyplot as plt
plt.figure(figsize=(9,6))
n = 8
X = np.arange(n)+1
#X是1,2,3,4,5,6,7,8,柱的个数
# numpy.random.uniform(low=0.0, high=1.0, size=None), normal
#uniform均匀分布的随机数,normal是正态分布的随机数,0.5-1均匀分布的数,一共有n个
Y1 = np.random.uniform(0.5,1.0,n)
Y2 = np.random.uniform(0.5,1.0,n)
plt.bar(X,Y1,width = 0.35,facecolor = 'lightskyblue',edgecolor = 'white')
#width:柱的宽度
plt.bar(X+0.35,Y2,width = 0.35,facecolor = 'yellowgreen',edgecolor = 'white')
#水平柱状图plt.barh,属性中宽度width变成了高度height
#打两组数据时用+
#facecolor柱状图里填充的颜色
#edgecolor是边框的颜色
#想把一组数据打到下边,在数据前使用负号
#plt.bar(X, -Y2, width=width, facecolor='#ff9999', edgecolor='white')
#给图加text
for x,y in zip(X,Y1):
plt.text(x+0.3, y+0.05, '%.2f' % y, ha='center', va= 'bottom')
for x,y in zip(X,Y2):
plt.text(x+0.6, y+0.05, '%.2f' % y, ha='center', va= 'bottom')
plt.ylim(0,+1.25)
plt.show()