scatter函数的功能

plot函数是matplotlib中最常见的绘图函数,作用是以x为自变量y为因变量绘制的带结点标记的线条或以x,y为坐标的坐标点(Plot y versus x as lines and/or markers)。plot函数也可以绘制散点图,但是所有点的标记大小和颜色都是统一的。因此,plot函数绘制的散点图只能比较x,y两个维度。
scatter函数绘制散点图的功能与plot函数相似,也是以x为自变量y为因变量绘制x,y为坐标的点。但是scatter函数绘制的点可以修改不同标记大小和颜色。因此scatter函数可以在x,y、标记大小、标记颜色这4个维度对数据进行比较。

scatter函数的参数

scatter函数的签名为matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=<deprecated parameter>, edgecolors=None, *, plotnonfinite=False, data=None, **kwargs)

  • x, y:点的位置。浮点数或类数组结构(维度为(n, ))。必备参数!与plot函数的x,y参数不同,x,y都不能为空。x, y支持多维数组,但是x, y的维度必须一致,多维数组会被展平(flatten)为一维数组。

  • s:标记的面积。浮点数或类数组结构(维度为(n, ))。可选参数。默认值为rcParams['lines.markersize'] ** 2

  • c:标记的颜色。数组、颜色数组或颜色。 可选参数。

  • marker:标记样式。取值参考matplotlib.markers。默认值为rcParams["scatter.marker"] ('o')

  • cmap:色彩映射。已注册的色彩映射名称或Colormap实例。默认值为rcParams["image.cmap"] ('viridis')cmap只能在c参数为浮点数数组时才能使用。

  • normNormalize,默认值为None。如果c参数为浮点数数组,norm参数在[0,1]范围内缩放颜色数据,c构造与cmap的颜色映射。如果为None,默认的colors.Normalize

  • alpha:浮点数。取值范围为[0,1]0为透明,1为不透明。默认值为None

  • linewidths:标记边缘线宽。浮点数或类数组结构。默认值为rcParams["lines.linewidth"] (1.5)

  • edgecolors:标记边缘颜色。取值为{'face', 'none', None}、颜色、颜色序列。默认值为rcParams["scatter.edgecolors"] ('face')

    • 'face':标记边缘颜色与标记颜色相同
    • 'none':没有边线。

x,y参数取值演示

在这里插入图片描述

import matplotlib.pyplot as plt

plt.scatter([1, 2], [3, 4])
plt.scatter(1, 2)
plt.scatter(1, [4])
plt.scatter([[5, 6], [7, 8]], [[5, 6], [7, 8]])
plt.show()

x,y,s,c参数演示

x,y,s,c参数均为一维列表,尺寸相同。因此,可以在4个维度对数据进行对比。
在这里插入图片描述

import matplotlib.pyplot as plt

plt.scatter([1, 2, 3, 4], [1, 2, 3, 4], [100, 200, 300, 400], [1, 2, 3, 4])
# plt.scatter(x=[1, 2, 3, 4], y=[1, 2, 3, 4], s=[100, 200, 300, 400], c=[1, 2, 3, 4])
plt.show()
Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐