pandas.DataFrame.plot.scatter#

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

创建一个散点图,其中标记点的大小和颜色不同。

每个点的坐标由两个数据框列定义,并用填充圆圈表示每个点。这种图表有助于查看两个变量之间的复杂相关性。例如,点可以是自然2D坐标(如地图中的经度和纬度),或者在一般情况下,任何可以相互绘制的度量对。

参数:
xint 或 str

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

yint 或 str

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

sstr, 标量或类数组, 可选

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

  • 用于标记大小列名称的字符串。

  • 一个单一的标量,因此所有点的尺寸相同。

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

cstr, int 或类数组, 可选

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

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

  • 一系列通过名称、RGB 或 RGBA 代码引用的颜色字符串,这些颜色将递归地用于每个点的颜色。例如 [‘绿色’,’黄色’] 所有点将交替填充绿色或黄色。

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

**kwargs

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

返回:
matplotlib.axes.Axes 或它们的 numpy.ndarray

包含散点图的 matplotlib 轴。

参见

matplotlib.pyplot.scatter

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

例子

让我们看看如何使用 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