pandas.DataFrame.plot.bar#
- DataFrame.plot.bar(x=None, y=None, color=None, **kwargs)[源代码]#
垂直条形图。
条形图是一种用矩形条表示分类数据的图表,矩形条的长度与它们所代表的值成比例。条形图显示了离散类别之间的比较。图表的一个轴显示被比较的特定类别,另一个轴表示测量的值。
- 参数:
- x标签或位置,可选
允许绘制一列与另一列的对比图。如果未指定,则使用DataFrame的索引。
- y标签或位置,可选
允许绘制一列与另一列的对比图。如果未指定,则使用所有数值列。
- 颜色str, 类数组, 或 dict, 可选
每个 DataFrame 列的颜色。可能的值有:
- 一个通过名称、RGB或RGBA代码引用的单一颜色字符串,
例如 ‘red’ 或 ‘#a98d19’。
- 一系列通过名称、RGB或RGBA引用的颜色字符串
代码,将用于每个列递归地。例如 [‘green’,’yellow’] 每个列的条形图将交替填充为绿色或黄色。如果只有一个列要绘制,那么只会使用颜色列表中的第一个颜色。
- 一个形式为 {列名color}, 以便每列将会
相应地着色。例如,如果你的列名为 a 和 b,那么传递 {‘a’: ‘green’, ‘b’: ‘red’} 将会把列 a 的条形图着色为绿色,列 b 的条形图着色为红色。
- **kwargs
其他关键字参数在
DataFrame.plot()
中有文档说明。
- 返回:
- matplotlib.axes.Axes 或它们的 np.ndarray
当
subplots=True
时,会返回一个 ndarray,每列对应一个matplotlib.axes.Axes
。
参见
DataFrame.plot.barh
水平条形图。
DataFrame.plot
绘制 DataFrame 的图表。
matplotlib.pyplot.bar
使用 matplotlib 制作条形图。
例子
基本图表。
>>> df = pd.DataFrame({'lab': ['A', 'B', 'C'], 'val': [10, 30, 20]}) >>> ax = df.plot.bar(x='lab', y='val', rot=0)
绘制整个数据框到条形图中。每个列被分配一个不同的颜色,每行在水平轴上嵌套在一个组中。
>>> 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.bar(rot=0)
绘制 DataFrame 的堆积条形图
>>> ax = df.plot.bar(stacked=True)
不是嵌套,可以通过
subplots=True
按列拆分图形。在这种情况下,会返回一个numpy.ndarray
的matplotlib.axes.Axes
。>>> axes = df.plot.bar(rot=0, subplots=True) >>> axes[1].legend(loc=2)
如果你不喜欢默认的颜色,你可以指定你希望每列的颜色。
>>> axes = df.plot.bar( ... rot=0, subplots=True, color={"speed": "red", "lifespan": "green"} ... ) >>> axes[1].legend(loc=2)
绘制单列。
>>> ax = df.plot.bar(y='speed', rot=0)
仅为 DataFrame 绘制选定的类别。
>>> ax = df.plot.bar(x='lifespan', rot=0)