R 如何添加ggplot2网格线或颜色以通过变量(y轴)显示多个打印点?

R 如何添加ggplot2网格线或颜色以通过变量(y轴)显示多个打印点?,r,ggplot2,R,Ggplot2,我正在创建一个图,显示每个变量的4个结果beta+CI行 我想更清楚地显示与每个变量相关的4个绘制点(结果)和线(CI) 因此,我很好奇1)如何进行更清晰的面板或网格更改,以显示哪4个结果与哪一个变量相关,或2)如何在y轴上围绕变量创建括号 代码和下图 库(tidyverse) 图书馆(绿色) #>加载所需的包:viridisLite df% ggplot(aes(x=est,y=var,color=OUTPUT))+ 几何点(位置=位置2(宽度=1.0))+ 刻度y离散(极限=转速,扩展=c(

我正在创建一个图,显示每个变量的4个结果beta+CI行

我想更清楚地显示与每个变量相关的4个绘制点(结果)和线(CI)

因此,我很好奇1)如何进行更清晰的面板或网格更改,以显示哪4个结果与哪一个变量相关,或2)如何在y轴上围绕变量创建括号

代码和下图

库(tidyverse)
图书馆(绿色)
#>加载所需的包:viridisLite
df%
ggplot(aes(x=est,y=var,color=OUTPUT))+
几何点(位置=位置2(宽度=1.0))+
刻度y离散(极限=转速,扩展=c(0,0))+
鳞片(颜色)绿色(d)+
几何线范围(aes(xmin=l95,xmax=u95),
位置=位置2(宽度=1.0))+
几何线(xintercept=0,线型=“虚线”)+
平面网格(~性别)+
主题_极小值()+
主题(plot.title.position=“plot”,
plot.title=元素\文本(face=“bold”),
legend.position=“top”,
strip.text=元素\文本(face=“bold”))+
实验室(y=NULL,
x=“标准化测试版”,
title=“我的酷情节展示了这件事”,
subtitle=“更重要的细节,95%置信区间”,
caption=“更重要的细节”)


由(v2.0.0)于2021-06-03年创建,我想我会在
性别
变量
两个方面考虑,在实际y轴上使用
结果
。在我看来,每个面板周围的一条小灰线也可以提高清晰度:

df%>%
ggplot(aes(x=est,y=outcome,color=outcome))+
几何点(位置=位置2(宽度=1.0))+
刻度y离散(极限=转速,扩展=c(0,0))+
鳞片(颜色)绿色(d)+
几何线范围(aes(xmin=l95,xmax=u95),
位置=位置2(宽度=1.0))+
几何线(xintercept=0,线型=“虚线”)+
小平面网格(var~gender,switch=“y”)+
主题_极小值()+
主题(plot.title.position=“plot”,
plot.title=元素\文本(face=“bold”),
legend.position=“top”,
strip.placement=“外部”,
strip.text=元素\文本(face=“bold”),
panel.background=元素(color=“gray50”))+
实验室(y=NULL,
x=“标准化测试版”,
title=“我的酷情节展示了这件事”,
subtitle=“更重要的细节,95%置信区间”,
caption=“更重要的细节”)


由(v0.3.0)于2021-06-02创建。

您可以管理的主题属性的附加信息包括

  • 面板。间距
    -小平面中网格之间的间距
  • panel.border
    -镶嵌面中网格周围的边框
  • strip.background
    -刻面标题周围的边框
df%>%
#将y轴更改为结果
ggplot(aes(x=est,y=outcome,color=outcome))+
几何点(位置=位置2(宽度=1.0))+
刻度y离散(极限=转速,扩展=c(0,0))+
鳞片(颜色)绿色(d)+
几何线范围(aes(xmin=l95,xmax=u95),
位置=位置2(宽度=1.0))+
几何线(xintercept=0,线型=“虚线”)+
#基于var和性别的刻面网格
分面网格(变量~性别)+
主题_极小值()+
主题(plot.title.position=“plot”,
plot.title=元素\文本(face=“bold”),
legend.position=“top”,
strip.text=元素\文本(face=“bold”))+
实验室(y=NULL,
x=“标准化测试版”,
title=“我的酷情节展示了这件事”,
subtitle=“更重要的细节,95%置信区间”,
caption=“更重要的细节”)+
#在每个面周围添加面板边框
主题(面板间距=单位(5,“mm”),
panel.border=element_rect(color=“black”,fill=NA,size=1),
strip.background=元素(color=“black”,size=1))

由(v2.0.0)于2021-06-03创建

另一种方法是不使用facet,尽管它可能需要一些额外的技巧来减少var之间的空间

df%>%
ggplot(aes(x=est,y=var,color=OUTPUT))+
几何点(位置=位置2(宽度=1.0))+
#为y轴“C”添加一个中间离散值,然后绘制一条水平线
#在x上
比例y离散(极限=c(“B”、“c”、“A”),扩展=c(0,0),
中断=c(“B”、“A”))+
geom_hline(yintercept=“C”,linetype=“44”)+
鳞片(颜色)绿色(d)+
几何线范围(aes(xmin=l95,xmax=u95),
位置=位置2(宽度=1.0))+
几何线(xintercept=0,线型=“虚线”)+
平面网格(~性别)+
主题_极小值()+
主题(plot.title.position=“plot”,
plot.title=元素\文本(face=“bold”),
legend.position=“top”,
strip.text=元素\文本(face=“bold”))+
实验室(y=NULL,
x=“标准化测试版”,
title=“我的酷情节展示了这件事”,
subtitle=“更重要的细节,95%置信区间”,
caption=“更重要的细节”)+
主题(面板间距=单位(0,“mm”),
panel.border=元素(color=“black”,fill=NA,size=1))


由(v2.0.0)于2021-06-04创建

谢谢Allan!这很有帮助。我会试试这个,我想试着让线更近一点,通过变量来比较beta强度。谢谢!我想尝试一种不将变量切面化的方法,否则我会得到太多的面板:)只是添加了一种不将切面用于
var