pandas.core.groupby.DataFrameGroupBy.plot #

属性 DataFrameGroupBy。情节[来源] #

绘制系列或数据框的图。

使用选项指定的后端plotting.backend。默认情况下,使用 matplotlib。

参数
数据系列或数据框

调用该方法的对象。

x标签或位置,默认 None

仅当数据是 DataFrame 时才使用。

y标签、位置或标签、位置列表,默认无

允许绘制一列与另一列的图。仅当数据是 DataFrame 时才使用。

善良的str

产生的情节类型:

  • 'line' :线图(默认)

  • 'bar':垂直条形图

  • 'barh':水平条形图

  • ‘hist’:直方图

  • '盒子':箱线图

  • 'kde':核密度估计图

  • '密度':与'kde'相同

  • '面积':面积图

  • 'pie':饼图

  • 'scatter' :散点图(仅限 DataFrame)

  • 'hexbin' :hexbin 图(仅限 DataFrame)

ax matplotlib 轴对象,默认 None

当前图形的轴。

子图bool 或可迭代序列,默认 False

是否将列分组为子图:

  • False:不会使用子图

  • True:为每列制作单独的子图。

  • 列标签的可迭代序列:为每组列创建一个子图。例如[('a', 'c'), ('b', 'd')]将创建 2 个子图:一个包含列“a”和“c”,另一个包含列“b”和“d” 。未指定的其余列将绘制在其他子图中(每列一个)。

    1.5.0 版本中的新增内容。

sharex bool,如果 ax 为 None,则默认为 True,否则为 False

如果是subplots=True,则共享x轴,并将部分x轴标签设置为不可见;如果 ax 为 None,则默认为 True,否则如果传入 axe,则默认为 False;请注意,传入 axy 和 sharex=True将会更改图中所有轴的所有 x 轴标签。

sharey bool, 默认 False

在这种情况下subplots=True,共享 y 轴并将一些 y 轴标签设置为不可见。

布局元组,可选

(行,列)用于子图的布局。

FigSize一个元组(宽度,高度),以英寸为单位

图形对象的大小。

use_index bool, 默认 True

使用索引作为 x 轴的刻度。

标题str 或列表

用于情节的标题。如果传递了字符串,则在图的顶部打印该字符串。如果传递了列表并且subplots为 True,则在相应子图上方打印列表中的每个项目。

grid bool, 默认 None (matlab 风格默认)

轴网格线。

legend bool 或 {'reverse'}

将图例放在轴子图上。

样式列表或字典

每列的 matplotlib 线条样式。

logx bool 或 'sym',默认 False

在 x 轴上使用对数缩放或符号对数缩放。

logy bool 或 'sym' 默认 False

在 y 轴上使用对数缩放或符号对数缩放。

loglog bool 或 'sym',默认 False

在 x 和 y 轴上使用对数缩放或符号对数缩放。

xticks序列

用于 xticks 的值。

yticks序列

用于 yticks 的值。

xlim 2元组/列表

设置当前轴的 x 限制。

ylim 2 元组/列表

设置当前轴的 y 限制。

xlabel标签,可选

用于 x 轴上的 xlabel 的名称。默认使用索引名称作为 xlabel,或平面图的 x 列名称。

版本 2.0.0 中更改:现在适用于直方图。

ylabel标签,可选

用于 y 轴上的 ylabel 的名称。默认情况下将不显示 ylabel,或者平面图的 y 列名称。

版本 2.0.0 中更改:现在适用于直方图。

rot浮动,默认 None

刻度的旋转(xticks 表示垂直图,yticks 表示水平图)。

字体大小浮动,默认无

xticks 和 yticks 的字体大小。

colormap str 或 matplotlib 颜色图对象,默认 None

用于从中选择颜色的颜色图。如果是字符串,则从 matplotlib 加载具有该名称的颜色图。

颜色条布尔值,可选

如果为 True,则绘制颜色条(仅与“散点图”和“十六进制图”相关)。

位置浮动

指定条形图布局的相对对齐方式。从 0(左/底端)到 1(右/顶端)。默认值为 0.5(中心)。

table bool,Series 或 DataFrame,默认 False

如果为 True,则使用 DataFrame 中的数据绘制表格,并且数据将被转置以满足 matplotlib 的默认布局。如果传递了 Series 或 DataFrame,则使用传递的数据绘制表格。

yerr DataFrame、系列、类数组、dict 和 str

有关详细信息,请参阅使用误差线绘图

xerr DataFrame、系列、类数组、dict 和 str

相当于yerr。

stacked bool,在线图和条形图中默认为 False,面积图中默认为 True

如果为 True,则创建堆积图。

secondary_y布尔值或序列,默认 False

如果是列表/元组,是否在辅助 y 轴上绘制,哪些列要在辅助 y 轴上绘制。

mark_right bool, 默认 True

使用 secondary_y 轴时,自动在图例中用“(右)”标记列标签。

include_bool bool,默认为False

如果为 True,则可以绘制布尔值。

后端str,默认无

要使用的后端而不是选项中指定的后端 plotting.backend。例如,“matplotlib”。或者,要plotting.backend为整个会话 指定,请设置pd.options.plotting.backend

**夸格

传递给 matplotlib 绘图方法的选项。

返回
matplotlib.axes.Axes或其中的 numpy.ndarray

如果后端不是默认的 matplotlib,则返回值将是后端返回的对象。

笔记

  • 有关此主题的更多信息,请参阅在线 matplotlib 文档

  • 如果kind = 'bar' 或 'barh',您可以通过位置关键字指定条形图布局的相对对齐方式。从 0(左/底端)到 1(右/顶端)。默认值为 0.5(中心)

例子

对于系列:

>>> ser = pd.Series([1, 2, 3, 3])
>>> plot = ser.plot(kind='hist', title="My plot")

对于数据框:

>>> df = pd.DataFrame({'length': [1.5, 0.5, 1.2, 0.9, 3],
...                   'width': [0.7, 0.2, 0.15, 0.2, 1.1]},
...                   index=['pig', 'rabbit', 'duck', 'chicken', 'horse'])
>>> plot = df.plot(title="DataFrame Plot")

对于系列分组依据:

>>> lst = [-1, -2, -3, 1, 2, 3]
>>> ser = pd.Series([1, 2, 2, 4, 6, 6], index=lst)
>>> plot = ser.groupby(lambda x: x > 0).plot(title="SeriesGroupBy Plot")

对于 DataFrameGroupBy:

>>> df = pd.DataFrame({"col1" : [1, 2, 3, 4],
...                   "col2" : ["A", "B", "A", "B"]})
>>> plot = df.groupby("col2").plot(kind="bar", title="DataFrameGroupBy Plot")