matplotlib.pyplot.barh#
- matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align='center', data=None, **kwargs)[source]#
绘制水平条形图。
条形图位于 y 位置,并根据给定的 align(对齐方式)进行排列。其尺寸由 width(宽度)和 height(高度)决定。水平基线为 left(默认为 0)。
许多参数可以接受一个适用于所有条形图的单一值,也可以接受一个序列值,每个条形图一个。
- 参数:
- y浮点数或类数组
条形的 y 坐标。有关条形与坐标的对齐方式,请参阅 align 参数。
条形图常用于分类数据,即条形下方的字符串标签。你可以直接向 y 提供一个字符串列表。
barh(['A', 'B', 'C'], [1, 2, 3])通常比barh(range(3), [1, 2, 3], tick_label=['A', 'B', 'C'])这种写法更简短、更方便。只要名称唯一,两者是等效的。显式的 tick_label 写法会按给定的顺序绘制名称。然而,当分类 y 数据中存在重复值时,这些值会映射到同一个数值型 y 坐标,因此对应的条形会重叠绘制在一起。- width浮点数或类数组
条形图的宽度。
注意:如果 left 具有单位(例如日期时间),则 width 应当是与 left 值之差的单位(例如时间增量 timedelta)。
- height浮点数或类数组,默认值:0.8
条形的高度。
注意:如果 y 具有单位(例如日期时间),则 height 应当是 y 值周围差值的单位(例如时间增量 timedelta)。
- left浮点数或类数组,默认值:0
条形左侧的 x 坐标。
注意:如果 left 具有单位,则 x 轴将获得适合该单位(例如日期或分类)的定位器(Locator)和格式化器(Formatter)。
- align{'center', 'edge'},默认值:'center'
基准线与 y 坐标的对齐方式
'center':将条形在 y 位置上居中。
'edge':将条形的底边与 y 位置对齐。
若要将条形按顶边对齐,可传入负的 height 值并设置
align='edge'。
- 返回:
BarContainer包含所有条形图和可选误差线的容器。
- 其他参数:
- colorcolor 或 color 列表,可选
条形表面的颜色。
- edgecolorcolor 或 color 列表,可选
条形边缘的颜色。
- linewidth浮点数或类数组,可选
条形边缘的宽度。如果为0,则不绘制边缘。
- tick_label字符串或字符串列表,可选
条形图的刻度标签。默认值:None(使用默认的数字标签。)
- label字符串或字符串列表,可选
单个标签将附加到生成的
BarContainer上,作为整个数据集的图例标签。如果提供了一个列表,它必须与 x 的长度相同,并标记各个单独的条形。重复的标签不会被去重,会导致重复的图例条目,因此最好在条形样式也不同时使用(例如,通过向 color 传入列表)。提示:使用
bar_label在条形上放置标签。- xerr, yerr浮点数或形状为(N,)或形状为(2, N)的类数组,可选
如果不为 None,则在条形图尖端添加水平/垂直误差线。这些值是相对于数据的 +/- 大小
标量:所有条形图的对称 +/- 值
形状(N,):每个条形图的对称 +/- 值
形状(2, N):每个条形图的单独 - 和 + 值。第一行包含较低误差,第二行包含较高误差。
None:无误差棒(默认)。
有关 xerr 和 yerr 用法的示例,请参阅 指定误差线的不同方法。
- ecolorcolor 或 color 列表,默认:'black'
误差线的线条颜色。
- capsizefloat,默认:
rcParams["errorbar.capsize"](默认:0.0) 误差线帽的长度(以点为单位)。
- error_kw字典,可选
传递给
errorbar方法的关键字参数字典。此处定义的 ecolor 或 capsize 值优先于独立的关键字参数。- log布尔值,默认值:False
如果为
True,将 x 轴设置为对数刻度。- data可索引对象,可选
如果提供,所有参数也接受字符串
s,如果s是data中的键,则将其解释为data[s]。- **kwargs
Rectangle属性 属性
描述
一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量
浮点数或 None
未知
布尔值
布尔值或 None
(左,下,宽,高)
CapStyle或 {'butt', 'projecting', 'round'}BboxBase或 None布尔值
Patch 或 (Path, Transform) 或 None
颜色 或 None
颜色 或 None
颜色 或 None
布尔值
str
{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
未知
color 或 'edge' 或 None
未知
布尔值
JoinStyle或 {'miter', 'round', 'bevel'}object
{'-', '--', '-.', ':', '', ...} 或 (offset, on-off-seq)
浮点数或 None
布尔值
None 或 布尔值 或 浮点数 或 可调用对象
布尔值
(scale: 浮点数, length: 浮点数, randomness: 浮点数)
布尔值或 None
str
布尔值
未知
未知
(浮点数, 浮点数)
未知
浮点数
备注
注意
这是 pyplot 包装器,对应
axes.Axes.barh。堆叠条形图可以通过为每个条形传入单独的 left 值来实现。请参阅 离散分布水平条形图。