pandas.DataFrame.plot.scatter#

DataFrame.plot.scatter(x, y, s=None, c=None, **kwargs)[源代码]#

创建具有不同标记点大小和颜色的散点图。

每个点的坐标由两个 DataFrame 列定义,并使用填充的圆圈来表示每个点。这种图有助于观察两个变量之间复杂的关联。点可以是自然二维坐标,例如地图上的经纬度,或者一般情况下,任何可以相互绘制的度量对。

Parameters:
xint 或 str

用作每个点水平坐标的列名或列位置。

yint 或 str

用作每个点垂直坐标的列名或列位置。

sstr、标量或类数组,可选

每个点的大小。可能的值有:

  • 一个字符串,表示用于标记大小的列名。

  • 一个单一标量,所有点的大小都相同。

  • 一个标量序列,将依次用于每个点的大小。例如,当传递 [2,14] 时,所有点的大小将交替为 2 或 14。

cstr、int 或类数组,可选

每个点 的颜色。可能的值有:

  • 一个单一的颜色字符串,可通过名称、RGB 或 RGBA 代码引用,例如 ‘red’ 或 ‘#a98d19’。

  • 一个颜色字符串序列,可通过名称、RGB 或 RGBA 代码引用,将依次用于每个点的颜色。例如,[‘green’,’yellow’] 的所有点将依次填充为绿色或黄色。

  • 一个列名或列位置,其值将用于根据颜色映射为标记点着色。

**kwargs

要传递给 DataFrame.plot() 的关键字参数。

Returns:
matplotlib.axes.Axes 或它们的 numpy.ndarray。

参见

matplotlib.pyplot.scatter

使用多种输入数据格式的散点图。

Examples

让我们看看如何使用 DataFrame 列中值作为坐标来绘制散点图。

>>> df = pd.DataFrame([[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],
...                    [6.4, 3.2, 1], [5.9, 3.0, 2]],
...                   columns=['length', 'width', 'species'])
>>> ax1 = df.plot.scatter(x='length',
...                       y='width',
...                       c='DarkBlue')
../../_images/pandas-DataFrame-plot-scatter-1.png

现在,颜色也由一列确定。

>>> ax2 = df.plot.scatter(x='length',
...                       y='width',
...                       c='species',
...                       colormap='viridis')
../../_images/pandas-DataFrame-plot-scatter-2.png