我是R新手。我会尽量简短而简单。目前,我试图在一个离散的x轴上基于另一个条件连接两个条件之间的点。
下面是一些测试数据和我尝试绘制一些数据。
set.seed(42)
# Test case data
mydf1 <- tibble(
xx = rep('myLabel', 8),
yy = rnorm(8),
grp = rep(c(1, 2), each = 4),
cond = rep(c('a', 'b', 'c', 'd'), length.out = 8)
)
ggplot(mydf1, aes(x = xx, y = yy, col = factor(grp))) +
geom_point(position = position_dodge(width = 0.9)) +
geom_path(position = position_dodge(width = 0.9), aes(group = cond), col = "black") +
theme_bw() +
ggtitle("Test Case for geom_path and position_dodge")
据我所知,似乎在绘制后应用了position_dodge。有没有办法改变这种行为?或实现以这种方式连接这些点的总体目标?
感谢您的时间。
编辑:详情。
EDIT2:
我想基于一个主要条件中的4个条件捕捉grp
之间的前后关系。
答案 0 :(得分:2)
您可以绘制分类x轴。
ggplot(mydf1, aes(x = cond, y = yy, col = factor(grp))) +
geom_point() +
geom_path(aes(group = cond), col = "black") +
theme_bw() +
ggtitle("Test Case for categorical X-axis")
或者,如果您需要比较映射到x轴的多个分类维度,可以尝试使用facets。
ggplot(mydf1, aes(x = cond, y = yy, col = factor(grp))) +
geom_point() +
geom_path(aes(group = cond), col = "black") +
theme_bw() +
ggtitle("Test Case for Categorical X-axis and Facets") +
facet_wrap(~cond)
答案 1 :(得分:2)
可能你想要这个。
set.seed(42)
library(ggplot2)
ggplot(mydf1, aes(x = grp, y = yy, col = factor(grp))) +
geom_point() +
geom_path(aes(group = cond), col = "black") +
theme_bw() +
ggtitle("Test Case for geom_path and position_dodge") +
xlim(c(.5, 2.5)) +
labs(color = "Group", x = "myLabel", y = "yy") +
theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())