两个分类变量的散点图[重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

我有两个分类变量,我想互相绘制。

这是我的数据的一个虚拟示例:

dummyData <- as.factor(c(rep("fav", 10), rep("int",30)))
dummyMethod1 <- sample(dummyData)
dummyMethod2 <- sample(dummyData)

这是我试图绘制它的方式:

plot(dummyMethod1, dummyMethod2)

这给出了一个条形图,这是可以的,但是无法看到每个类别中有多少数据点。

要么:

ggplot(data = data.frame(dummyMethod1, dummyMethod2),
       aes(x = dummyMethod1, y = dummyMethod2)) + 
  geom_point(position = position_dodge(width = 0.4))

这会产生散点图,也不会提供有关每个类别中数据点数的任何信息。

有没有办法制作dummyMethod1dummyMethod2的散点图,以便我可以看到每个类别中的每个单独的数据点?

r scatter-plot categorical-data
2个回答
1
投票

ggbeeswarm也有一些很好的选项来绘制重叠点

library(ggbeeswarm)
ggplot(data = data.frame(dummyMethod1, dummyMethod2),
       aes(x = dummyMethod1, y = dummyMethod2)) + 
  theme_bw(base_size = 16) +
  geom_quasirandom(col = "grey50", varwidth = TRUE, groupOnX = TRUE, alpha = 3/4, size = 2)

enter image description here


2
投票

使用抖动:

dummyData <- data.frame(x = as.factor(c(rep("fav", 10))),
                        y = as.factor(c(rep("int",30))))

ggplot(data = dummyData, aes(x, y)) +
  geom_jitter()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.