在 Stata 绘图中我们经常会遇到散点图重叠的问题,例如附件中提供了一个 mpg.dta 数据,绘制 hwy 和 displ 变量散点图的时候就会出现严重的重叠问题:
use mpg, clear |
![]()
这种重叠问题往往会影响我们对数据的判断,本文我们将会分享几种解决方法。
方法一:设置透明度
在 Stata 15 之后,绘图可以设置颜色的透明度了:
sc hwy displ, mc(red%30) |
![]()
这样可以区分哪些点有重叠、哪些没有,但是不是特别直观。
方法二:使用散点扰动
scatter 命令可以使用 jitter() 选项设置散点扰动:
sc hwy displ, name(p1, replace) ti(没有添加散点扰动) |
![]()
也可以通过增加 jitter() 里面的数字来增加扰动。
方法三:使用太阳花的花瓣数量表示重叠程度
ssc 上有个陈年的老命令,安装:ssc install flower,使用:
flower hwy displ |
![]()
这里的黑色背景实际上是没背景,可以绘制出来图之后对着图复制,然后粘贴到 word 文档里面得到白色背景的图(但是效果可能很差)。
Stata 官方也有一个绘制太阳花的命令:
sunflower hwy displ |
![]()
更加好用。
方法四:使用 E. F. Haghish 开发的 neat 命令
附件中有安装包:
net install neat.pkg, from("neat.pkg 文件所在的文件夹路径") |
使用:
neat hwy displ |
![]()
需要注意的是,neat 并不是绘图的命令,而是一个修改数据的命令,也就是对数据进行偏移之后再绘图。
点击这里跳转到 RStata 短书平台获取附件:Stata 中如何解决散点图的散点重叠问题?
评论