我有一个ggplot2
折线图,其中有两条线具有明显的重叠。我试图使用position_jitterdodge()
以便它们更可见,但我无法以相同的方式获得指向两个抖动的线和点。我正在尝试仅使点和线水平抖动(因为我不想建议y轴的任何变化)。这是MWE:
## Create data frames
dimension <- factor(c("A", "B", "C", "D"))
df <- data.frame("dimension" = rep(dimension, 2),
"value" = c(20, 21, 34, 32,
20, 21, 36, 29),
"Time" = c(rep("First", 4), rep("Second", 4)))
## Plot it
ggplot(data = df, aes(x = dimension, y = value,
shape = Time, linetype = Time, group = Time)) +
geom_line(position = position_jitterdodge(dodge.width = 0.45)) +
geom_point(position = position_jitterdodge(dodge.width = 0.45)) +
xlab("Dimension") + ylab("Value")
产生丑陋的地方:
我显然在这里犯了根本的错误:我应该怎么做才能使
geom_point
抖动遵循geom_line
抖动?
最佳答案
仅用于水平的另一个选项是指定position_dodge
并将其传递给每个几何的position
参数。
pd <- position_dodge(0.4)
ggplot(data = df, aes(x = dimension, y = value,
shape = Time, linetype = Time, group = Time)) +
geom_line(position = pd) +
geom_point(position = pd) +
xlab("Dimension") + ylab("Value")
关于r - 如何使geom_line和geom_point抖动相同的幅度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39533456/