R 在ggplot点阵图中为垂直线添加第二个图例
以下是我创建的ggplot点图示例: 为此,我使用了以下代码:R 在ggplot点阵图中为垂直线添加第二个图例,r,ggplot2,R,Ggplot2,以下是我创建的ggplot点图示例: 为此,我使用了以下代码: mtcars$cyl<-as.character(mtcars$cyl) ggplot( mtcars, aes(fill=cyl, y=gear, x=mpg)) + geom_line(aes(group = gear)) + geom_vline(xintercept = mean(mtcars$mpg), linetype="dotted", color =
mtcars$cyl<-as.character(mtcars$cyl)
ggplot(
mtcars,
aes(fill=cyl,
y=gear,
x=mpg)) +
geom_line(aes(group = gear)) +
geom_vline(xintercept = mean(mtcars$mpg), linetype="dotted",
color = "black", size=1) +
geom_point(aes(color = cyl),size=5) +
theme_bw() +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank())
mtcars$cyl这可以是一种解决方案:
library(tidyverse)
mtcars$cyl<-as.character(mtcars$cyl)
d_me <-
mtcars %>%
summarize(me = mean(mpg)) %>%
mutate(var = "overall \n mean")
mtcars %>%
ggplot(
aes(fill=cyl,
y=gear,
x=mpg)) +
geom_line(aes(group = gear)) +
geom_point(aes(color = cyl),size=5) +
geom_vline(data = d_me, aes(xintercept = me, linetype = var),
color = "black", size=1) +
scale_linetype_manual(values = "dotted", name = "") +
theme_bw() +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank())
库(tidyverse)
mtcars$cyl%
变异(var=“总体\n平均值”)
mtcars%>%
ggplot(
aes(填充=气缸,
y=齿轮,
x=mpg))+
几何线(aes(组=档位))+
几何点(aes(颜色=圆柱体),尺寸=5)+
geom_vline(数据=d_me,aes(xintercept=me,线型=var),
颜色=“黑色”,尺寸=1)+
比例\线型\手动(值=“虚线”,名称=”)+
主题_bw()+
主题(轴线=元素线(颜色=“黑色”),
panel.grid.major=元素_blank(),
panel.grid.minor=元素_blank(),
panel.border=元素_blank(),
panel.background=element\u blank()
谢谢,这很有效!你能不能把文本“总体平均值”放在两行上,这样就有更多的空间来绘制呢?例如,下面的新行上的“mean”?