2015-04-03 61 views
2

是否可以從使用ggplot創建的圖例中移除某些項目?我有一個多面的情節,點的大小爲情節提供了另一個維度。由於情節是多面的,我不需要具有某些圖例項目,因爲它是由方面標題解釋的,但圖例仍然與點大小相關。R ggplot從圖例中移除某些項目

在下面的圖中,我想刪除「AREA」圖例項目,因爲它已經通過刻面進行了解釋,但保留了說明點大小的「TOTAL_VOLUME」圖例項目。

a

這裏是用來生成繪圖的代碼:()

library(data.table) # Import libraries 
library(ggplot2) 
library(scales) 

set.seed(1234) # Set Seed 

area.list <- LETTERS[seq(1:7)] # 7 Possible areas 
date.list <- seq(as.Date("2014/03/01"), by="month", length=13) 

# Build a random data set 
data <- data.table(AREA = sample(area.list, 80, replace=TRUE), 
       DATE = sample(date.list, 80, replace=TRUE), 
       VOLUME = rnorm(n=80, mean=100000,sd=40000), 
       NON_CONFORMING_VOLUME = rnorm(n=80, mean=30000,sd=5000)) 
# Summarise data by area and date 
data <- data[, list(TOTAL_VOLUME=sum(VOLUME), 
       TOTAL_NC_VOLUME=sum(NON_CONFORMING_VOLUME)), 
     by=list(AREA, DATE)] 
data$PERCENT_NC <- data$TOTAL_NC_VOLUME/data$TOTAL_VOLUME * 100 

p <- ggplot(data = data, aes(x = DATE, 
          y = PERCENT_NC, 
          colour = AREA)) + 
    geom_point(aes(size = TOTAL_VOLUME)) + 
    geom_line() + 
    facet_grid(. ~ AREA) + 
    theme(legend.position="bottom", axis.text.x=element_text(angle=90,hjust=1)) + 
    ggtitle("Percent Non-Conforming by Area by Month") + 
    labs(x = "Month", y = "% Non-Conforming") + 
    scale_size_continuous(labels = comma) 

plot(p) 

我嘗試添加show_guide = FALSE到geom_point但同時刪除TOTAL_VOLUME和麪積。

謝謝

回答

3

您可以在下面的方式爲每個刻度指南:

p + guides(size = "legend", colour = "none") 

plot