Как убрать поле легенды из легенд в ggplot of R? - PullRequest
0 голосов
/ 20 января 2020

Я понимаю, что есть несколько ответов о том, как убрать рамки вокруг легенд, но я задаюсь вопросом относительно удаления рамок вокруг вставленных вручную легенд. в моем коде ниже я попытался удалить цвет фона и рамку вокруг легенды, но не смог. Я также хочу, чтобы 95-процентная достоверность была немного шире (не просто линия). Мы будем благодарны за любую помощь.

library(tidyverse)
library(data.table)

G1 = data.frame(A_Ob = runif(1000, 5, 50), A_Sim = runif(1000, 3,60), A_upper = runif(1000, 10,70), A_lower = runif(1000, 0, 45 ),
                B_Ob = runif(1000, 5, 50), B_Sim = runif(1000, 3,60), B_upper = runif(1000, 10,70), B_lower = runif(1000, 0, 45 ),
                C_Ob = runif(1000, 5, 50), C_Sim = runif(1000, 3,60), C_upper = runif(1000, 10,70), C_lower = runif(1000, 0, 45 ),
                D_Ob = runif(1000, 5, 50), D_Sim = runif(1000, 3,60), D_upper = runif(1000, 10,70), D_lower = runif(1000, 0, 45 ),
                Pos = 1:1000)

setDT(G1)
Ob_cols = grep("_Ob",colnames(G1),value = TRUE)
Sim_cols = grep("_Sim",colnames(G1),value = TRUE)
Upper_cols = grep("_upper",colnames(G1), value = TRUE)
Lower_cols = grep("_lower", colnames(G1), value = TRUE)
g.m <- melt(G1, measure = list(Ob_cols,Sim_cols,Upper_cols,Lower_cols), value.name = c("OBS","SIM","UP","LOW"))

levels(g.m$variable) <- c("M1","M2","M3","M4")

# Defining annotations to add:
df_text <- data.frame(label = c("Calibration", "Validation"),
                      x = c(740,760),
                      y = c(65,65),
                      hjust = c(1,0),
                      variable = factor("M1", levels = c("M1","M2","M3","M4")))

ggplot(g.m, aes(x = Pos))+
  geom_ribbon(aes(ymin = UP, ymax = LOW, color = "grey30"), alpha = 0.4)+
  geom_line(aes(y = OBS, color = "blue"), size = 1 )+
  geom_line(aes(y = SIM, color = "black"), size =  1, linetype = "dashed")+
  geom_vline(xintercept = 750,color = "red", size = 1.30)+
  facet_wrap(~ variable, ncol = 1, scales = "free_y")+ 
  theme_bw()+ scale_x_continuous(limits = c(0,1000), expand = c(0, 0))+
  theme(axis.title.y = element_text(size = 18, face = "bold"), axis.title.x = element_blank(), axis.text = element_text(size = 16, face = "bold"),
        strip.text.x = element_text(size = 18, face = "bold"))+ylab(bquote("Streamflow ("*~m^3/sec*")"))+
  geom_text(data = df_text, aes(x = x, y = y, label = label, hjust = hjust), color = "red", size = 8)+
  scale_color_identity(name = NULL,  guide = "legend", breaks = c("grey30", "blue", "black"),
                       labels = c("95% confidence bound", "Observation","Simulation")) +
  theme(legend.key = element_rect(colour = NA, fill = NA),
        legend.box.background = element_blank())

Вот рисунок с легендой справа. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...