matplotlib.pyplot.barh#

matplotlib.pyplot.barh(y, width, height=0.8, left=None, *, align='center', data=None, **kwargs)[源]#

绘制水平条形图。

条形图位于 y 处,并根据给定的 alignment 进行对齐。它们的尺寸由 widthheight 给出。水平基准线为 left(默认值 0)。

许多参数可以接受一个适用于所有条形图的单一值,也可以接受一个序列值,每个条形图一个。

参数:
y浮点数或类数组

条形图的 y 坐标。另请参阅 align 以了解条形图与坐标的对齐方式。

条形图通常用于分类数据,即条形图下方的字符串标签。您可以直接向 y 提供字符串列表。与 barh(range(3), [1, 2, 3], tick_label=['A', 'B', 'C']) 相比,barh(['A', 'B', 'C'], [1, 2, 3]) 通常是一种更短、更方便的表示法。只要名称是唯一的,它们就是等效的。显式 tick_label 记法按照给定顺序绘制名称。但是,当分类 y 数据中存在重复值时,这些值会映射到相同的数值 y 坐标,因此对应的条形图会相互叠加绘制。

width浮点数或类数组

条形图的宽度。

请注意,如果 left 具有单位(例如 datetime),则 width 应采用与 left 值之差的单位(例如 timedelta)。

height浮点数或类数组,默认值: 0.8

条形图的高度。

请注意,如果 y 具有单位(例如 datetime),则 height 应采用围绕 y 值之差的单位(例如 timedelta)。

left浮点数或类数组,默认值: 0

条形图左侧的 x 坐标。

请注意,如果 left 具有单位,则 x 轴将获得适用于这些单位的定位器(Locator)和格式器(Formatter)(例如日期或分类数据)。

align{'center', 'edge'},默认值:'center'

基准线与 y 坐标的对齐方式*

  • `center`:将条形图中心对齐到 y 位置。

  • `edge`:将条形图底部边缘与 y 位置对齐。

若要将条形图顶部边缘对齐,请传入负的 height 值和 align='edge'

返回:
BarContainer

包含所有条形图和可选误差线的容器。

其他参数:
color颜色颜色 列表,可选

条形图表面的颜色。

edgecolor颜色颜色 列表,可选

条形边缘的颜色。

linewidth浮点数或类数组,可选

条形边缘的宽度。如果为0,则不绘制边缘。

tick_label字符串或字符串列表,可选

条形图的刻度标签。默认值:None(使用默认的数字标签。)

label字符串或字符串列表,可选

单个标签会附加到生成的 BarContainer 上,作为整个数据集的标签。如果提供列表,其长度必须与 y 相同,并标注每个条形图。重复的标签不会去重,并且会导致重复的标签条目,因此最好在条形图样式也不同时使用此功能(例如,通过向 color 传入列表)。

xerr, yerr浮点数或形状为(N,)或形状为(2, N)的类数组,可选

如果不为 None,则在条形图尖端添加水平/垂直误差线。这些值是相对于数据的 +/- 大小

  • 标量:所有条形图的对称 +/- 值

  • 形状(N,):每个条形图的对称 +/- 值

  • 形状(2, N):每个条形图的单独 - 和 + 值。第一行包含较低误差,第二行包含较高误差。

  • None:无误差条。(默认)

有关 xerryerr 用法的示例,请参阅 指定误差线的不同方法

ecolor颜色颜色 列表,默认值: 'black'

误差线的线条颜色。

capsize浮点数,默认值: rcParams["errorbar.capsize"] (默认值: 0.0)

误差线帽的长度(以点为单位)。

error_kw字典,可选

要传递给 errorbar 方法的关键字参数字典。此处定义的 ecolorcapsize 值优先于独立的关键字参数。

log布尔值,默认值:False

如果为 True,则将 x 轴设置为对数刻度。

data可索引对象,可选

如果给定,所有参数也接受字符串 s,如果 sdata 中的键,则将其解释为 data[s]

**kwargsRectangle 属性

属性

描述

agg_filter

一个过滤函数,它接受一个 (m, n, 3) 浮点数组和一个 dpi 值,并返回一个 (m, n, 3) 数组以及图像左下角的两个偏移量

alpha

浮点数或 None

angle

未知

animated

布尔值

antialiasedaa

布尔值或 None

bounds

(左,下,宽,高)

capstyle

CapStyle 或 {'butt', 'projecting', 'round'}

clip_box

BboxBase 或 None

clip_on

布尔值

clip_path

Patch 或 (Path, Transform) 或 None

color

color

edgecolorec

颜色 或 None

facecolorfc

颜色 或 None

figure

FigureSubFigure

fill

布尔值

gid

字符串

hatch

{'/', '\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}

hatch_linewidth

未知

height

未知

in_layout

布尔值

joinstyle

JoinStyle 或 {'miter', 'round', 'bevel'}

label

对象

linestylels

{'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

linewidthlw

浮点数或 None

mouseover

布尔值

path_effects

AbstractPathEffect 列表

picker

None 或 布尔值 或 浮点数 或 可调用对象

rasterized

布尔值

sketch_params

(scale: 浮点数, length: 浮点数, randomness: 浮点数)

snap

布尔值或 None

transform

变换

url

字符串

visible

布尔值

width

未知

x

未知

xy

(浮点数, 浮点数)

y

未知

zorder

浮点数

另请参阅

bar

绘制垂直条形图。

备注

注意

这是 pyplot 包装器axes.Axes.barh

可以通过为每个条形图传入单独的 left 值来实现堆叠条形图。参见作为水平条形图的离散分布

使用 matplotlib.pyplot.barh 的示例#

带标签的条形图

带标签的条形图

离散分布作为水平条形图

离散分布作为水平条形图

多个直方图并排

多个直方图并排