离散轴与分类变量的间距

Mic*_*ael 2 r ggplot2

我有一个分类轴,我想在该分类变量中直观地分离组。我不想刻面,因为它占用了太多空间并且视觉上不那么干净。

这是我想要的一个可视化示例,它涉及一些乏味的黑客攻击(将用于间距的非数据条目的 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)

在此处输入图片说明

Pet*_*ter 9

您可以通过breakslimits参数获得您正在寻找的结果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)

在此处输入图片说明