R 在绘图图例中添加文字,而不参考绘图中的线条
我有一个两行的绘图,其中图例条目非常相似,除了一些单词(见下文) 我的代码如下所示:R 在绘图图例中添加文字,而不参考绘图中的线条,r,ggplot2,R,Ggplot2,我有一个两行的绘图,其中图例条目非常相似,除了一些单词(见下文) 我的代码如下所示: library(tidyverse) set.seed(36) Data <- data.frame( date = sample((as.Date(as.Date("2011-12-30"):as.Date("2012-01-04"), origin="1970-01-01")), 1000, replace = TRUE), group =
library(tidyverse)
set.seed(36)
Data <- data.frame(
date = sample((as.Date(as.Date("2011-12-30"):as.Date("2012-01-04"),
origin="1970-01-01")), 1000, replace = TRUE),
group = sample(c("0", "1"), 1000, replace = TRUE),
outcome = sample(c("0", "1"), 1000, replace = TRUE))
Data %>%
mutate(date = as.POSIXct(date), group = factor(group)) %>%
group_by(group, date) %>% #group
summarise(prop = sum(outcome == "1")/n()) %>% #calculate proportion
ggplot()+
geom_line(aes(x = date, y = prop, color = group))+
geom_point(aes(x = date, y = prop, color = group)) +
scale_color_manual(values = c("0" = "blue", "1" = "black"), labels = c("0" = 'Some text that repeats, the only unique thing being "A"', "1" = 'Some text that repeats, the only unique thing being "B"'), name = "Legend")
库(tidyverse)
种子(36)
数据%
突变(日期=as.POSIXct(日期),组=因子(组))%>%
分组依据(分组,日期)%>%\u分组
总结(prop=sum(outcome==“1”)/n())%>%#计算比例
ggplot()+
geom_线(aes(x=日期,y=道具,颜色=组))+
几何点(aes(x=日期,y=道具,颜色=组))+
缩放颜色手册(值=c(“0”=“蓝色”、“1”=“黑色”)、标签=c(“0”=”一些重复的文本,唯一唯一唯一的是“A”)、“1”=”一些重复的文本,唯一唯一唯一唯一的是“B”)、名称=“图例”)
它生成以下图形:
我想简化这个传说。它应包含以下行:
图例
)一些重复的文本,唯一唯一的是
),然后是带有A
和B
的黑线scale_color_manual(values = c("0" = "blue", "1" = "black"),
labels = c("0" = '"A"', "1" = '"B"'),
name = "Legend\nSome text that repeats,\nthe only unique thing being")
但我会删除“Legend”
(信息量不大)
要明确区分“图例”
和字幕文本,可以使用表达式和顶部的加粗:
legend_title = expression(atop(bold("Legend\n"),
"Some text that repeats,\nthe only unique thing being"))
Data %>%
mutate(date = as.POSIXct(date), group = factor(group)) %>%
group_by(group, date) %>% #group
summarise(prop = sum(outcome == "1")/n()) %>% #calculate proportion
ggplot()+
geom_line(aes(x = date, y = prop, color = group))+
geom_point(aes(x = date, y = prop, color = group)) +
scale_color_manual(values = c("0" = "blue", "1" = "black"),
labels = c("0" = '"A"', "1" = '"B"'),
name = legend_title)
然后,您可以在“图例”
之后添加空格,使其向左对齐:
legend_title = expression(atop(bold("Legend \n"),
"Some text that repeats,\nthe only unique thing being"))
这里有一个建议:
scale_color_manual(values = c("0" = "blue", "1" = "black"),
labels = c("0" = '"A"', "1" = '"B"'),
name = "Legend\nSome text that repeats,\nthe only unique thing being")
但我会删除“Legend”
(信息量不大)
要明确区分“图例”
和字幕文本,可以使用表达式和顶部的加粗:
legend_title = expression(atop(bold("Legend\n"),
"Some text that repeats,\nthe only unique thing being"))
Data %>%
mutate(date = as.POSIXct(date), group = factor(group)) %>%
group_by(group, date) %>% #group
summarise(prop = sum(outcome == "1")/n()) %>% #calculate proportion
ggplot()+
geom_line(aes(x = date, y = prop, color = group))+
geom_point(aes(x = date, y = prop, color = group)) +
scale_color_manual(values = c("0" = "blue", "1" = "black"),
labels = c("0" = '"A"', "1" = '"B"'),
name = legend_title)
然后,您可以在“图例”
之后添加空格,使其向左对齐:
legend_title = expression(atop(bold("Legend \n"),
"Some text that repeats,\nthe only unique thing being"))
这里有一种方法只是稍微有点不成熟:使用fct\u expand
从forcats
(包含在tidyverse中)中的fct\u releval将虚拟级别添加到您的组
变量中,然后使用fct\u releval
使其成为因子中的第一级。这样,您就有了一个虚假的观察结果,它将列在图例的顶部,但实际上没有任何数据
除了添加该行之外,我唯一更改的是色标中的drop=F
,因此即使没有与虚拟级别相关的数据,它仍将显示在图例中,然后显示在图例标签中
一个缺点是虚拟变量的图例键可见;可能有一些方法可以消除这种情况,或者您可以通过为图例键提供白色背景来降低其可视性
库(tidyverse)
种子(36)
数据%
突变(日期=as.POSIXct(日期),组=因子(组))%>%
#添加虚拟因子级别并使其成为第一个级别
变异(组=组%>%fct\u扩展(“虚拟”)%%>%fct\u重新级别(“虚拟”))%%>%
分组依据(分组,日期)%>%\u分组
总结(prop=sum(outcome==“1”)/n())%>%#计算比例
ggplot()+
geom_线(aes(x=日期,y=道具,颜色=组))+
几何点(aes(x=日期,y=道具,颜色=组))+
缩放颜色手册(值=c(“0”=“蓝色”、“1”=“黑色”、“虚拟”=“透明”)、标签=c(“0”=“A”、“1”=“B”、“虚拟”=“一些重复的文本”\n唯一独特的东西是”)、name=“图例”、drop=F)
由(v0.2.0)于2018-04-09创建。这里有一种方法只是稍微有点老套:使用fct_expand
从forcats
(包含在tidyverse中)添加一个虚拟级别到组
变量,然后使用fct_relevel
将其作为系数的第一级。这样,您就有了一个虚假的观察结果,它将列在图例的顶部,但实际上没有任何数据
除了添加该行之外,我唯一更改的是色标中的drop=F
,因此即使没有与虚拟级别相关的数据,它仍将显示在图例中,然后显示在图例标签中
一个缺点是虚拟变量的图例键可见;可能有一些方法可以消除这种情况,或者您可以通过为图例键提供白色背景来降低其可视性
库(tidyverse)
种子(36)
数据%
突变(日期=as.POSIXct(日期),组=因子(组))%>%
#添加虚拟因子级别并使其成为第一个级别
变异(组=组%>%fct\u扩展(“虚拟”)%%>%fct\u重新级别(“虚拟”))%%>%
分组依据(分组,日期)%>%\u分组
总结(prop=sum(outcome==“1”)/n())%>%#计算比例
ggplot()+
geom_线(aes(x=日期,y=道具,颜色=组))+
几何点(aes(x=日期,y=道具,颜色=组))+
缩放颜色手册(值=c(“0”=“蓝色”、“1”=“黑色”、“虚拟”=“透明”)、标签=c(“0”=“A”、“1”=“B”、“虚拟”=“一些重复的文本”\n唯一独特的东西是”)、name=“图例”、drop=F)
由(v0.2.0)于2018-04-09创建。请添加所需的输出图像。向我们展示你的绘画技巧。我坚持认为这是paint.NET;)请参阅更新的问题。scale\u color\u手册(值=c(“0”=“蓝色”,“1”=“黑色”),标签=c(“0”=“A”,“1”=“B”),name=“一些重复的文本”)
请添加所需的输出图像。向我们展示你的绘画技巧。我坚持认为这是paint.NET;)请参阅更新的问题。scale\u color\u手册(值=c(“0”=“蓝色”,“1”=“黑色”),标签=c(“0”=“A”,“1”=“B”),name=“一些重复的文本”)