[英]How do I change the title of the legend in this ggplot
我尝试了几种方法来更改图例标题,但最终会在当前图例下方创建一个带有该标题的新图例。
这是代码:
C1 <- rnorm(200,14,4)
C2 <- rnorm(20,13,2)
C1.date <- sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 200)
C2.date <- sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 20)
dataset <- data.frame(c(C1,C2),c(C1.date,C2.date),c(rep("C1",200),rep("C2",20)))
names(dataset) <- c("A","B","C")
library(ggplot2)
ggplot(data = dataset, aes(x = B, y = A))+
enter code here`xlab("B")+
ylab("A")+
geom_point(aes(color = factor(C)))+
scale_x_date(date_labels = "%b %Y")+
stat_smooth(aes(color = factor(C),fill = factor(C)),method="loess")
使用labs
您可以更改fill
标题和color
图例。 如果您只更改一个,它们将不再合并。
C1 <- rnorm(200,14,4)
C2 <- rnorm(20,13,2)
C1.date <- sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 200)
C2.date <- sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 20)
dataset <- data.frame(c(C1,C2),c(C1.date,C2.date),c(rep("C1",200),rep("C2",20)))
names(dataset) <- c("A","B","C")
library(ggplot2)
ggplot(data = dataset, aes(x = B, y = A))+
xlab("B")+
ylab("A")+
geom_point(aes(color = factor(C)))+
scale_x_date(date_labels = "%b %Y")+
stat_smooth(aes(color = factor(C),fill = factor(C)),method="loess") +
labs(color = "Legend", fill = "Legend")
#> `geom_smooth()` using formula 'y ~ x'
另一种选择是使用guides()
,它类似于@stefan的快速解决方案:
library(ggplot2)
#Code
ggplot(data = dataset, aes(x = B, y = A))+
xlab("B")+
ylab("A")+
geom_point(aes(color = factor(C)))+
scale_x_date(date_labels = "%b %Y")+
stat_smooth(aes(color = factor(C),fill = factor(C)),method="loess")+
guides(color=guide_legend(title='MY NEW TITLE'),
fill=guide_legend(title='MY NEW TITLE'))
输出:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.