R ggplot从图例中删除某些项目

时间:2015-04-03 20:55:51

标签: r ggplot2

是否可以从使用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和AREA。

谢谢

1 个答案:

答案 0 :(得分:4)

您可以通过以下方式为每个比例设置指南:

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

plot