【问题标题】:Modify font of single element in forestplot修改森林图中单个元素的字体
【发布时间】:2018-02-02 18:39:48
【问题描述】:

我正在尝试修改使 labeltext 斜体中的单个元素而不使整个列斜体,但没有运气。以下代码将使 1 斜体:

library(forestplot)

'rmeta' 包中的 Cochrane 数据

cochrane_from_rmeta <- 
structure(list(
mean  = c(NA, NA, 0.578, 0.165, 0.246, 0.700, 0.348, 0.139, 1.017, NA, 0.531), 
lower = c(NA, NA, 0.372, 0.018, 0.072, 0.333, 0.083, 0.016, 0.365, NA, 0.386),
upper = c(NA, NA, 0.898, 1.517, 0.833, 1.474, 1.455, 1.209, 2.831, NA, 
0.731)),
.Names = c("mean", "lower", "upper"), 
row.names = c(NA, -11L), 
class = "data.frame")

tabletext<-cbind(
 c("", "Study", "Auckland", "Block", 
 "Doran", "Gamsu", "Morrison", "Papageorgiou", 
"Tauesch", NA, "Summary"),
 c("Deaths", "(steroid)", "36", "1", 
"4", "14", "3", "1", 
"8", NA, NA),
c("Deaths", "(placebo)", "60", "5", 
"11", "20", "7", "7", 
"10", NA, NA),
c("", "OR", "0.58", "0.16", 
"0.25", "0.70", "0.35", "0.14", 
"1.02", NA, "0.53"))

 forestplot(tabletext, 
 txt_gp = fpTxtGp(label = list(gpar(fontface = 3),
                                     gpar(fontface = 1,
                                          )),
                        ticks = gpar(fontfamily = "", cex=1),
                        xlab  = gpar(fontfamily = "HersheySerif", cex = 1.5)),
       rbind(HRQoL$Sweden),
       col=clrs,
       xlab="EQ-5D index")

但是如何修改脚本以仅制作“男性与女性”斜体(即标签文本的元素 1,1)。

有关该功能的更多详细信息可以在这里找到:https://cran.r-project.org/web/packages/forestplot/forestplot.pdf

【问题讨论】:

    标签: r list forestplot


    【解决方案1】:

    目前仅支持使用 fpTxtGp 设置单个列的样式,但如果您的表中没有任何摘要元素(来自小插图),您可以进行黑客攻击,以获得相同的结果:

    forestplot(tabletext, 
               boxsize = .05,
               is.summary=c(FALSE, FALSE, TRUE, FALSE),
               txt_gp = fpTxtGp(summary = list(
                 gpar(fontfamily = "HersheyScript", fontface=1), 
                 gpar(fontface=1)
                 )
               ),
               rbind(HRQoL$Sweden),
               col=clrs,
               fn.ci_sum=function(col, size, ...) {
                 fpDrawNormalCI(clr.line = col, clr.marker = col, size=.05, ...)
               },
               xlab="EQ-5D index")
    

    【讨论】:

    • 感谢您的回复。这很有帮助。类似的问题 - 有没有办法在文本列中添加上标? IE。一个 pval 列,写为 10 x 5^(-05) [其中“-05”是上标]。谢谢。
    • 可能,但我不知道如何。它是基础系统的一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    相关资源
    最近更新 更多