2017-05-23 41 views
0

我有一個分類軸,我想在視覺上將該分類變量內的組分開。我不想分面,因爲它佔用太多空間,並且在視覺上不夠乾淨。通過分類變量離散軸的間距

下面是我想要的一個視覺示例,涉及一些繁瑣的黑客行爲(對於用於間隔的非數據條目,將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)) 
使用

我希望能夠無需破解一個額外的類別(這將不會與我試圖繪製組數據/數量可行)創建這個情節下面的數據結構(其中變量「組」決定了間距發生):

dd2 <- data.frame(x=factor(1:10,), y=c(1:10), groups=c("A",rep("B",9))) 

enter image description here

回答

1

你可以得到你所通過breakslimits論點尋找到結果。將breaks設置爲x軸上的因子水平,將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])) 

enter image description here