我有一个分类轴,我想在该分类变量中直观地分离组。我不想刻面,因为它占用了太多空间并且视觉上不那么干净。
这是我想要的一个可视化示例,它涉及一些乏味的黑客攻击(将用于间距的非数据条目的 alpha 设置为 0)。
library(ggplot2)
dd <- data.frame(x=factor(c(1,-1,2:10),levels=c(1,-1,2:10)), y=c(1,2,2:10), hidden=as.factor(c(0,1,rep(0,9))))
ggplot(data=dd,aes(x=x,y=y,alpha=hidden)) +
geom_point() + scale_alpha_manual(values=c("1"=0,"0"=1)) +
scale_x_discrete(breaks=c(1:10))
Run Code Online (Sandbox Code Playgroud)
我希望能够使用以下数据结构(其中变量“组”决定了间距发生的位置):
dd2 <- data.frame(x=factor(1:10,), y=c(1:10), groups=c("A",rep("B",9)))
Run Code Online (Sandbox Code Playgroud)

您可以通过breaks和limits参数获得您正在寻找的结果scale_x_discrete。将breaksx 轴上limits的因子水平设置为您想要/需要它们的带有间隔的因子水平。
下面是一个例子:
library(ggplot2)
dd <- data.frame(x = factor(letters[1:10]), y = 1:10)
ggplot(dd) +
aes(x = x, y = y) +
geom_point() +
scale_x_discrete(breaks = levels(dd$x),
limits = c(levels(dd$x)[1], "skip", levels(dd$x)[-1]))
Run Code Online (Sandbox Code Playgroud)