status = sample(c(0, 1), 500, replace = TRUE)
value = rnorm(500)
plot(value)
smoothScatter(value)
我正在尝试制作一个有价值的散点图,但如果我只想绘制它,那么数据就会聚集在一起并且不是很明显。我已经尝试过smoothScatter(),这使得情节看起来更好一点,但我想知道是否有办法根据相应的状态对值进行颜色编码?
我试图看看状态和价值之间是否存在关系。什么是另一种很好地呈现数据的方法?我已经尝试了boxplot,但我想知道如何更好地制作smoothScatter()图表,或者是否有其他方法可视化它。
答案 0 :(得分:1)
我假设你打算在你的例子中写plot(status, value)
?无论如何,使用这些数据不会有太多的差异,但是您应该通过以下示例了解事情......
你有没有看过jitter
?
一些基础知识:
plot(jitter(status), value)
或者plot(jitter(status, 0.5), value)
您可以执行包ggplot2
}的发烧友:
library(ggplot2)
df <- data.frame(value, status)
ggplot(data=df, aes(jitter(status, 0.10), value)) +
geom_point(alpha = 0.5)
或者这......
ggplot(data=df, aes(factor(status), value)) +
geom_violin()
或......
ggplot(data=df, aes(x=status, y=value)) +
geom_density2d() +
scale_x_continuous(limits=c(-1,2))
...或
ggplot(data=df, aes(x=status, y=value)) +
geom_density2d() +
stat_density2d(geom="tile", aes(fill = ..density..), contour=FALSE) +
scale_x_continuous(limits=c(-1,2))
甚至是这个..
ggplot(data=df, aes(fill=factor(status), value)) +
geom_density(alpha=0.2)