我想用我的数据绘制一个聚类图,如下所示
library(ggplot2)
set.seed(1)
dat1 = data.frame(val = rnorm(20, 0, 1), class1 = rep('a', 20), class2 = rep('X', 20))
dat2 = data.frame(val = rnorm(20, 0, 1), class1 = rep('b', 20), class2 = rep('X', 20))
dat3 = data.frame(val = rnorm(20, 0, 1), class1 = rep('a', 20), class2 = rep('Y', 20))
dat4 = data.frame(val = rnorm(20, 0, 1), class1 = rep('b', 20), class2 = rep('Y', 20))
dat = rbind(dat1, dat2, dat3, dat4)
ggplot(dat, aes(y = val)) +
geom_point(aes(x = class2, color = class1))
有了这个,我得到下面的情节
正如您所看到的,对应于class1
的点混合在一列中,用于两个X & Y
。然而,我想保持对应于class1 = a
和class1 = b
的点并排,它们之间可能有一点分离的空间。
有没有办法用ggplot
来实现这一点?
非常感谢你的时间。
1条答案
按热度按时间acruukt91#
我认为这是一个完美的时间来使用方面:
如果你喜欢你的原始结构,只想增加一点空间,我们可以使用
position = position_dodge
,同时指定一个group
美学,同时考虑class1
和class2
。