matplotlib scatter
简介
scatter
是 Matplotlib
库中的一个函数,用于绘制散点图。散点图是研究变量之间关系的常用方法之一,其中每个散点代表一个数据点,x轴和y轴分别代表两个变量,通过散点的分布可以观察变量之间的关系。
散点图可用于探索数据的分布、观察变量之间的线性关系、检测异常值以及展示聚类等。
本文将详细介绍 scatter
函数的使用方法和相关参数,并通过示例代码演示其作用。
scatter 函数的使用
函数原型
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None,
alpha=None, linewidths=None, edgecolors=None, plotnonfinite=False, data=None, **kwargs)
参数说明
x
: x轴上的数值或数组y
: y轴上的数值或数组s
: 标记点的大小,默认为20
,可以为数值或数组c
: 标记点的颜色,默认为蓝色,可以为颜色字符串或颜色序列marker
: 标记点的形状,默认为圆点,可以为常用的标记点形状字符串cmap
: 颜色图谱,用于根据值链表生成颜色,默认为None,即使用默认的颜色图谱norm
: 用于归一化颜色数据的实例vmin
,vmax
: 颜色图谱取值的下限和上限alpha
: 标记点的透明度,默认为None
,取值范围为[0,1]
linewidths
: 标记点的边框线宽度,默认为None
edgecolors
: 标记点的边框颜色,默认为None
plotnonfinite
: 无效或非有限数值的点是否绘制,默认为False
**kwargs
: 其他参数
注意:当 x
和 y
为数组时,数组的长度必须相等。
示例代码
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
sizes = np.random.randint(10, 100, size=100)
plt.scatter(x, y, s=sizes, c=colors, marker='o', alpha=0.5)
plt.colorbar()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Scatter Plot')
plt.show()
示例结果解析
上述示例代码中,首先导入了 matplotlib.pyplot
和 numpy
库。然后生成了100个随机的x坐标和y坐标,并分别用随机生成的颜色和大小表示每个点。
plt.scatter
函数将生成的数据点绘制在散点图上,并使用 s
参数设置标记点的大小,使用 c
参数设置标记点的颜色,使用 marker
参数设置标记点的形状,使用 alpha
参数设置标记点的透明度。最后通过 plt.colorbar
添加了一个颜色条。
接下来通过 plt.xlabel
和 plt.ylabel
分别设置了x轴和y轴的标签,使用 plt.title
设置了图表的标题。最后通过 plt.show
展示了散点图。
scatter 函数的应用场景
探索数据分布
散点图能够直观地展示数据点在坐标轴上的分布情况。通过观察散点图,可以判断数据点是否存在聚集趋势、离群点等。
观察变量之间的关系
通过绘制两个变量之间的散点图,可以观察它们之间的关系。如果两个变量存在线性关系,散点图上的点会呈现线性分布的趋势。
检测异常值
散点图能够帮助我们发现数据中的异常值。异常值会在散点图上表现为与其他数据点明显不一致的点,可以结合统计方法进一步分析异常值的原因。
数据聚类展示
通过设置不同的标记点形状或颜色,可以将不同的数据点聚类展示在散点图上,便于观察数据的分布状况。
小结
本文介绍了 scatter
函数的使用方法和相关参数,并通过示例代码演示了散点图的绘制过程和效果。
散点图在数据可视化和分析中具有重要作用,能够帮助我们观察数据的分布、分析变量之间的关系以及检测异常值等。熟练掌握 scatter
函数的使用方法,可以更好地理解和分析数据。