繁体   English   中英

如何更改此 ggplot 中图例的标题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM