R ggplot数据抖动
首先,我们先来画一个图:
ggplot(data = mpg) +geom_point(mapping = aes(x = displ, y = hwy, color = class))
虽然数据集中有 234 个观测值,但散点图中只显示了 126 个点?这是因为有一些点重合了,这个问题称为过绘制。点的这种排列方式很难看出数据的聚集模式,为了更加清晰的帮助我们观测数据,理解数据,数据抖动就可以派上用场了。
通过将位置调整方式设为“抖动”,可以避免这种网格化排列。 position = “jitter” 为每
个数据点添加一个很小的随机扰动,这样就可以将重叠的点分散开来,因为不可能有两个
点会收到同样的随机扰动:
ggplot(data = mpg) +geom_point(mapping = aes(x = displ, y = hwy),position = "jitter")
这样,所有的数据点就都显示出来了。
此外,ggplot还专门开发了一个几何对象函数 geom_jitter(),运行下面的代码,同样可以得到上面的图。
ggplot(data = mpg) +geom_jitter(mapping = aes(x = displ, y = hwy))
数据抖动通过随机来改善图形,会使图形变的不精确,除了这种方法,也可以通过设置透明度来更好的展示有聚集情况的数据。
ggplot(data = mpg) +geom_point(mapping = aes(x = displ, y = hwy,alpha=0.8),size=3,color="red",show.legend = F)
参考:R数据科学