matplotlib.pyplot.bar#

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)[source]#

绘制条形图。

条形图位于 x 处,并具有给定的 align 对齐方式。它们的尺寸由 heightwidth 给出。垂直基线是 bottom (默认为 0)。

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

参数:
x浮点数或类数组

条形图的 x 坐标。有关条形图与坐标的对齐方式,另请参阅 align

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

height浮点数或类数组

条形图的高度。

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

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

条形图的宽度。

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

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

条形图底部的 y 坐标。

请注意,如果 bottom 具有单位,则 y 轴将获得适合这些单位(例如日期或分类)的定位器 (Locator) 和格式化器 (Formatter)。

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

条形图与 x 坐标的对齐方式

  • 'center':将基线置于 x 位置的中心。

  • 'edge':将条形图的左边缘与 x 位置对齐。

要将条形图对齐到右边缘,请传入负 widthalign='edge'

返回:
BarContainer

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

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

条形图表面的颜色。这是 facecolor 的别名。如果两者都给出,则 facecolor 优先。

facecolor颜色颜色 列表,可选

条形图表面的颜色。如果同时给出 colorfacecolor,则 facecolor 优先。

edgecolor颜色颜色 列表,可选

条形边缘的颜色。

linewidth浮点数或类数组,可选

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

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

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

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

一个标签附加到生成的 BarContainer 上,作为整个数据集的标签。如果提供列表,则其长度必须与 x 相同,并标记各个条形图。重复的标签不会去重,并会导致重复的标签条目,因此最好在条形图样式也不同时使用(例如,通过将列表传递给 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,将 y 轴设置为对数刻度。

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

str

hatch

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

hatch_linewidth

未知

height

未知

in_layout

布尔值

joinstyle

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

label

object

linestylels

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

linewidthlw

浮点数或 None

mouseover

布尔值

path_effects

AbstractPathEffect 列表

picker

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

rasterized

布尔值

sketch_params

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

snap

布尔值或 None

transform

变换

url

str

visible

布尔值

width

未知

x

未知

xy

(浮点数, 浮点数)

y

未知

zorder

浮点数

另请参阅

barh

绘制水平条形图。

备注

注意

这是 pyplot 封装器,用于 axes.Axes.bar

可以通过为每个条形图传入单独的 bottom 值来实现堆叠条形图。请参阅 堆叠条形图

使用 matplotlib.pyplot.bar 的示例#

具有独立条形颜色的条形图

具有独立条形颜色的条形图

带标签的条形图

带标签的条形图

堆叠条形图

堆叠条形图

带标签的组合条形图

带标签的组合条形图

锥形图

锥形图

表格演示

表格演示

饼中条形图

饼中条形图

嵌套饼图

嵌套饼图

极坐标轴上的条形图

极坐标轴上的条形图

孵化图案演示

孵化图案演示

Pyplot 教程

Pyplot 教程