2014-01-30 28 views
4

我想在下面的示例中使用分組變量(「類別」)創建scatterplot +圖例。我怎麼可以強制所有因子水平(即低於LETTERS[1:5]),即使缺少實際的數據,在圖例顯示(強調他們的缺席!):Scatterplot:在圖例中顯示缺少的因子級別

dat <- data.frame(V1 = sample(seq(1:10), 10), 
       V2 = sample(seq(1:10), 10), 
       category = factor(sample(LETTERS[1:4], 10, replace=TRUE), 
        LETTERS[1:5])) 

ggplot(dat, aes(x=V1, y=V2)) + 
    geom_point(aes(size=category), shape=1) 

在我實際的腳本,我用scale_size_discrete()更改圖例標籤等。

謝謝!

回答

5

使用scale_size_discrete()並添加參數drop=FALSE以顯示所有級別。

ggplot(dat, aes(x=V1, y=V2)) + 
    geom_point(aes(size=category), shape=1)+ 
    scale_size_discrete(drop=FALSE)