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')
现在,颜色也由一列确定。
>>> ax2 = df.plot.scatter(x='length', ... y='width', ... c='species', ... colormap='viridis')