pandas.DataFrame.plot.barh #

数据框.plot。barh ( x = None , y = None , ** kwargs ) [来源] #

绘制水平条形图。

水平条形图是用矩形条显示定量数据的图,矩形条的长度与其所代表的值成比例。条形图显示离散类别之间的比较。该图的一个轴显示正在比较的特定类别,另一轴表示测量值。

参数
x标签或位置,可选

允许绘制一列与另一列的图。如果未指定,则使用 DataFrame 的索引。

y标签或位置,可选

允许绘制一列与另一列的图。如果未指定,则使用所有数字列。

颜色str、类似数组或 dict,可选

DataFrame 每一列的颜色。可能的值为:

  • 由名称、RGB 或 RGBA 代码引用的单一颜色字符串,

    例如“红色”或“#a98d19”。

  • 按名称、RGB 或 RGBA 引用的颜色字符串序列

    代码,它将递归地用于每一列。例如 ['green','yellow'] 每列的条形将交替填充为绿色或黄色。如果只有一列要绘制,则仅使用颜色列表中的第一种颜色。

  • 形式为 {column name color} 的字典,以便每一列都将是

    相应地着色。例如,如果您的列名为ab ,则传递 {'a': 'green', 'b': 'red'} 会将a列的条形颜色显示为绿色,将b列的条形颜色显示为红色。

**夸格

其他关键字参数记录在 中 DataFrame.plot()

返回
matplotlib.axes.Axes 或 np.ndarray 其中

当 时,返回一个 ndarray,matplotlib.axes.Axes 每列一个subplots=True

也可以看看

DataFrame.plot.bar

垂直条形图。

DataFrame.plot

使用 matplotlib 绘制 DataFrame 的图。

matplotlib.axes.Axes.bar

使用 matplotlib 绘制垂直条形图。

例子

基本示例

>>> df = pd.DataFrame({'lab': ['A', 'B', 'C'], 'val': [10, 30, 20]})
>>> ax = df.plot.barh(x='lab', y='val')

将整个 DataFrame 绘制为水平条形图

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh()

绘制 DataFrame 的堆积条形图

>>> ax = df.plot.barh(stacked=True)

我们可以为每一列指定颜色

>>> ax = df.plot.barh(color={"speed": "red", "lifespan": "green"})

将 DataFrame 的列绘制为水平条形图

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh(y='speed')

绘制 DataFrame 与所需列的关系图

>>> speed = [0.1, 17.5, 40, 48, 52, 69, 88]
>>> lifespan = [2, 8, 70, 1.5, 25, 12, 28]
>>> index = ['snail', 'pig', 'elephant',
...          'rabbit', 'giraffe', 'coyote', 'horse']
>>> df = pd.DataFrame({'speed': speed,
...                    'lifespan': lifespan}, index=index)
>>> ax = df.plot.barh(x='lifespan')