在ggplot2中的轴上添加虚拟值以添加刻度之间的不对称距离

时间:2017-05-02 08:42:42

标签: r dynamic ggplot2 axis

如何在ggplot2

中的x轴上添加虚拟值

我的数据中有0,2,4,6,12,14,18,22,26,我在x轴上绘制。有没有办法添加表中没有数据的剩余偶数?这将在x轴上创建适当的空间。

活动后x轴应显示0,2,4,6,8,10,12,14,16,18,20,22,24,26

我已经尝试过使用rbind.fill添加虚拟数据,但是当我将它们设为最后的8,10,12etc时

由于

enter image description here

1 个答案:

答案 0 :(得分:1)

希望这是有道理的:

library(ggplot2)

gvals <- factor(letters[1:3])
xvals <- factor(c(0,2,4,6,12,14,18,22,26), levels = seq(0, 26, by = 2))
yvals <- rnorm(10000, mean = 2)

df <- data.frame(x = sample(xvals, size = length(yvals), replace = TRUE),
                 y = yvals,
                 group = sample(gvals, size = length(yvals), replace = TRUE))

ggplot(df, aes(x = x, y = y)) + geom_boxplot(aes(fill = group)) +
    scale_x_discrete(drop = FALSE)

技巧是使x变量具有您需要的所有级别,并在比例中指定drop = FALSE