R 将ann项添加到ggplot2图例
我想实现的是,图例的标题为“年”,蓝色条显示为“2016年”的小矩形,以及“2012年”和“2008年”的圆圈和三角形。有什么办法可以做到吗?因为现在我只得到绘制点数据的图例 可复制示例:R 将ann项添加到ggplot2图例,r,ggplot2,R,Ggplot2,我想实现的是,图例的标题为“年”,蓝色条显示为“2016年”的小矩形,以及“2012年”和“2008年”的圆圈和三角形。有什么办法可以做到吗?因为现在我只得到绘制点数据的图例 可复制示例: # packages needed library(tidyverse) library(eurostat) library(lubridate) # downlaoding the dataset ilc_di11 <- get_eurostat("ilc_di11", stringsAsFact
# packages needed
library(tidyverse)
library(eurostat)
library(lubridate)
# downlaoding the dataset
ilc_di11 <- get_eurostat("ilc_di11", stringsAsFactors=FALSE)
# manipulating data
df <- ilc_di11 %>% filter(age=="TOTAL",
geo %in% c("EU28", "BE","BG","CZ","DK","DE","EE","IE","EL","ES","FR","HR","IT","CY","LV","LT","LU","HU","MT","NL","AT","PL","PT","RO","SI","SK","FI","SE","UK"),
sex=="T",
year(time) %in% c("2008", "2012", "2016"))%>%
spread(time, values) %>%
rename(`2008`=`2008-01-01`,
`2012`=`2012-01-01`,
`2016`=`2016-01-01`)%>%
gather(var, values, 5:6)
# plotting data
ggplot(data=df)+
geom_bar(aes(x=reorder(geo, `2016`), y=`2016`),
stat = "identity",
position = "dodge",
fill="steelblue")+
geom_point(aes(x=reorder(geo, `2016`), y=values,
shape=var,
color=var),
size=3)+
labs(title="Pajamų nelygybė nustatyta pagal S80/S20 santykį",
subtitle="Šaltinis: Eurostat (ilc_di11)",
x="Šalys",
y="Santykis")
#需要软件包
图书馆(tidyverse)
图书馆(欧盟统计局)
图书馆(lubridate)
#下调数据集
国际劳工公约11%
排列(时间、值)%>%
重命名(`2008`=`2008-01-01`,
`2012`=`2012-01-01`,
`2016`=`2016-01-01`)%>%
聚集(变量,值,5:6)
#绘图数据
ggplot(数据=df)+
geom_bar(aes(x=重新订购(geo,`2016`),y=`2016`),
stat=“identity”,
position=“道奇”,
fill=“钢蓝”)+
geom_点(aes(x=重新排序(geo,`2016`),y=值,
形状=变量,
颜色=var),
尺寸=3)+
实验室(title=“Pajamųnelygybėnustatyta pagal S80/S20 santykį”,
副标题=“Šaltinis:Eurostat(ilc_di11)”,
x=“Šalys”,
y=“Santykis”)
有很多解决方案,其中之一就是将虚拟的数据帧
传递到一个单独的几何点
层。设置该点的大小0,使其不会显示在绘图中,但为其指定颜色和形状
ggplot(df, aes(shape = var, color = var)) +
geom_bar(aes(reorder(geo, `2016`), `2016`),
stat = "identity", position = "dodge", fill = "steelblue", color = NA) +
geom_point(aes(x, y),
data.frame(x = Inf, y = Inf, var = "2016", var = "2016"),
size = 0) +
geom_point(aes(reorder(geo, `2016`), values, shape = var, color = var),
size = 3) +
labs(title = "Pajamų nelygybė nustatyta pagal S80/S20 santykį",
subtitle = "Šaltinis: Eurostat (ilc_di11)",
x = "Šalys",
y = "Santykis",
color = "Year",
shape = "Year")
有很多解决方案,其中之一就是将虚拟的
数据帧
传递到一个单独的几何点
层。设置该点的大小0,使其不会显示在绘图中,但为其指定颜色和形状
ggplot(df, aes(shape = var, color = var)) +
geom_bar(aes(reorder(geo, `2016`), `2016`),
stat = "identity", position = "dodge", fill = "steelblue", color = NA) +
geom_point(aes(x, y),
data.frame(x = Inf, y = Inf, var = "2016", var = "2016"),
size = 0) +
geom_point(aes(reorder(geo, `2016`), values, shape = var, color = var),
size = 3) +
labs(title = "Pajamų nelygybė nustatyta pagal S80/S20 santykį",
subtitle = "Šaltinis: Eurostat (ilc_di11)",
x = "Šalys",
y = "Santykis",
color = "Year",
shape = "Year")