gpt4 book ai didi

r - 在 ggplot 中向轴标签添加额外文本

转载 作者:行者123 更新时间:2023-12-03 09:02:49 25 4
gpt4 key购买 nike

我想为我的数据框创建漂亮的置信区间图df:

> df 
Estimate Lower Upper
A1 0.005414976 -0.01227699 0.02310694
A2 0.004046546 -0.01368911 0.02178220
A3 0.002761602 -0.01491484 0.02043804
A4 -0.002860038 -0.02049349 0.01477342
A5 -0.004197288 -0.02178773 0.01339316
A6 0.011004835 -0.12687561 0.14888529
B1 -0.001077768 -0.01130327 0.00914773
C1 0.137894575 -0.09659997 0.37238912
D1 0.128514414 -0.10866480 0.36569363
D2 0.168863152 -0.06347553 0.40120183
D3 0.139645665 -0.09431216 0.37360349
D4 0.028744139 -0.19562867 0.25311695

从数据集中可以看出,前6行代表一个因素的水平,然后有两个因素只有一个水平,最后是有4个水平的因素。我想以一种明确的方式显示它,以明确级别属于一个因素。

我当前的情节如下所示:

ggplot(df, aes(x = rownames(df), y = Estimate, ymin = Lower, ymax = Upper)) +
geom_pointrange() +
geom_hline(yintercept = 0, linetype = 2) +
coord_flip()

enter image description here

所需的输出应如下所示: enter image description here

我知道还有另一种选择如何对因素进行分组,例如请参阅 this ,但我想创建所描述的内容。

任何帮助将不胜感激!

最佳答案

一种解决方案(使用ggplot2版本2.2.0)是使用分面,但将位置调整到与轴相同的一侧,然后将分面名称放在轴之外并更改文本方向和垂直位置.

首先,添加新变量来显示因子水平。

df$Level <- paste("Factor ",substr(rownames(df),1,1))

ggplot(df, aes(x = rownames(df), y = Estimate, ymin = Lower, ymax = Upper)) +
geom_pointrange() +
geom_hline(yintercept = 0, linetype = 2) +
coord_flip() +
facet_grid(Level~.,scales = "free",space="free",switch = "both") +
theme(strip.placement = "outside",
strip.text.y = element_text(angle = 180,vjust=1, face = "bold"),
strip.background = element_blank(),
panel.spacing = unit(0,"cm"))

enter image description here

关于r - 在 ggplot 中向轴标签添加额外文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41545018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com