绘制条形图或堆积条形图
使用barh()绘制条形图或堆积条形图
barh()函数的语法格式如下所示:
barh(y,width,height=0.8,left=None,align='center',*,**kwargs)
该函数常用的参数的含义如下
y:表示条形的y坐标值。
width:表示条形的宽度,默认值为0.8.
height:表示条形的高度。
left:条形左侧的x轴坐标,默认值为0。
align:表示条形的对齐方式,有'center'和'edge'俩个取值,其中’center'表示将条形与刻度对齐;'edge'表示将条形的底边与刻度线对齐。
barh()函数会返回一个BarContainer类的对象
例如,使用barh()函数绘制条形图,代码如下。
import numpy as np
import matplotlib.pyplot as plt #导入模块
y=np.arange(5)
x1=np.array([10,8,7,11,13]) #准备数据
bar_height = 0.3 #条形的高度
fig=plt.figure() #创建代表画布的Figure类的对象fig
ax=fig.add_subplot() #在画布上添加坐标系风格的绘画区域ax
ax.barh(y,x1,tick_label=['a','b','c','d','e'],height=bar_height) #绘制图表
plt.show() #展示图表
使用pyplot的barh()函数还可以绘制具有多组条形的条形图。例如,使用barh()函数绘制具有俩组条形的条形图,代码如下:
import numpy as np
import matplotlib.pyplot as plt #导入模块
y=np.arange(5)
x1=np.array([10,8,7,11,13])
x2=np.array([9,6,5,10,12])#准备数据
bar_height = 0.3 #条形的高度
fig=plt.figure() #创建代表画布的Figure类的对象fig
ax=fig.add_subplot() #在画布上添加坐标系风格的绘画区域ax
ax.barh(y,x1,tick_label=['a','b','c','d','e'],height=bar_height)
ax.barh(y+bar_height,x2,height=bar_height) #绘制图表
plt.show() #展示图表
使用pyplot的barh()函数绘制图表时,可以通过给left参数传值的方式控制条形图的x值,使后绘制的条形位于先绘制的条形的右方。例如,使用barh()函数绘制由俩组条形堆叠而成的堆积条形图,代码如下:
import numpy as np
import matplotlib.pyplot as plt #导入模块
y=np.arange(5)
x1=np.array([10,8,7,11,13])
x2=np.array([9,6,5,10,12]) #准备数据
bar_height = 0.3 #条形的高度
fig=plt.figure() #创建代表画布的Figure类的对象fig
ax=fig.add_subplot() #在画布上添加坐标系风格的绘画区域ax
ax.barh(y,x1,tick_label=['a','b','c','d','e'],height=bar_height)
ax.barh(y,x2,left=x1,height=bar_height) #绘制图表
plt.show() #展示图表
另外,我们在使用pyplot的barh()函数绘制图表时,可以通过给xerr,yerr参数传值的方式为条形添加误差棒,示例代码如下。
import numpy as np
import matplotlib.pyplot as plt #导入模块
y=np.arange(5)
x1=np.array([10,8,7,11,13])
x2=np.array([9,6,5,10,12]) #准备数据
bar_height = 0.3 #条形的高度
error = [2,1,2.5,2,1.5]
fig=plt.figure() #创建代表画布的Figure类的对象fig
ax&#