R ggplot:图例周围的线

Arn*_*rne 2 plot r legend ggplot2

我正在尝试使用 ggplot2 进行数据绘图。

纯粹出于肤浅的原因,我想在我的图例周围画一条线,以便更好地将它与情节区分开来(即图例框周围的黑色轮廓)。我在任何论坛上都找不到这个问题的答案,但也许您有提示?

library(ggplot2)

Res = matrix(ncol = 3, nrow = 500)
Res[,1] = 1:500
Res[,2] = sin((2*pi)/100*Res[,1])
Res[,3] = cos((2*pi)/100*Res[,1])
Res = as.data.frame(Res)
colnames(Res) = c("X", "Y1", "Y2")

ggplot(Res, aes(X)) + 
  geom_line(aes(y = Y1, colour = "1"), size = 2) +
  geom_line(aes(y = Y2, colour = "2"), size = 2) +
  scale_color_discrete(name = "Y's", labels = c(" sine", " cosine")) +
  theme(legend.position=c(0.9, 0.7))
Run Code Online (Sandbox Code Playgroud)

Kum*_*lam 5

这将给出图例的轮廓

library(ggplot2)

Res = matrix(ncol = 3, nrow = 500)
Res[,1] = 1:500
Res[,2] = sin((2*pi)/100*Res[,1])
Res[,3] = cos((2*pi)/100*Res[,1])
Res = as.data.frame(Res)
colnames(Res) = c("X", "Y1", "Y2")

ggplot(Res, aes(X)) + 
  geom_line(aes(y = Y1, colour = "1"), size = 2) +
  geom_line(aes(y = Y2, colour = "2"), size = 2) +
  scale_color_discrete(name = "Y's", labels = c(" sine", " cosine")) +
  theme(legend.position=c(0.9, 0.7)) +  
  theme(legend.background = element_rect(colour = 'black', fill = 'white', linetype='solid'))
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关图例设置的更多信息https://github.com/tidyverse/ggplot2/wiki/Legend-Attributes