本文主要是介绍Python:matplotlib 和 Seaborn 之散点图的重叠、透明度和抖动 (三十三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python:matplotlib 和 Seaborn 之散点图的重叠、透明度和抖动 (三十三)
重叠、透明度和抖动#
如果要绘制大量数据点,或者数字变量是离散值,那么直接使用散点图可能无法呈现足够的信息。图形可能会出现重叠,由于大量数据重叠到一起,导致很难看清变量之间的关系。
plt.scatter(data = df, x = 'disc_var1', y = 'disc_var2')
在上图中,我们可以推断出两个变量负相关,但是数据的变化程度和关系强度并不明显。在这种情形下,我们需要应用透明度和抖动,使散点图能呈现更多的信息。可以通过在 scatter
函数调用中添加 "alpha" 参数来表示透明度,"alpha" 的值可以介于 0(完全不透明,不可见) 到 1(完全透明)之间。
plt.scatter(data = df, x = 'disc_var1', y = 'disc_var2', alpha = 1/5)
重叠的点越多,图像颜色就越深。从图中可以看出,两个数字变量之间存在一定的负相关关系。x 轴上的 0 和 10 比中间值出现的频率小多了。
除了设置透明度之外,我们还可以通过抖动使每个点稍微偏离真实值所对应的位置。这并不是 scatter 函数中的直接选项,而是 seaborn 的 regplot 函数的内置选项。可以单独添加 x 轴和 y 轴抖动,不会影响到回归方程的拟合情况:
sb.regplot(data = df, x = 'disc_var1', y = 'disc_var2', fit_reg = False,x_jitter = 0.2, y_jitter = 0.2, scatter_kws = {'alpha' : 1/3})
抖动设置将导致每个点统一地在真实值的 ±0.2 范围内抖动。注意透明度已经更改为分配给“scatter_kws”参数的字典。这么设置的原因是让透明度明确地与 regplot
函数的 scatter
部分相关联。
为者常成,行者常至
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
这篇关于Python:matplotlib 和 Seaborn 之散点图的重叠、透明度和抖动 (三十三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!