gpt4 book ai didi

r - R : Plot中的高级图例

转载 作者:行者123 更新时间:2023-12-04 11:40:23 32 4
gpt4 key购买 nike

这是该问题的后续问题:
How to have a new line in a `bquote` expression used with `text`?

但是现在我有了一个传奇,这似乎改变了事情。

我尝试了以下方法:

test<-c(10:1)
dummy1<-0.004323423
dummy2<-0.054
dummy3<-0.032
plot(test,c(1:10))
legend("topright",
legend=c(bquote(Qua_0,99^normal == .(round(dummy1,4))),bquote(Qua_0,95^normal == .(round(dummy2,4))),bquote(Qua_0,99^t == .(round(dummy3,4)))),
bty = "n",lwd=2, cex=1, col=c("red","black","darkgreen"), lty=c(1,3,5))

所以,我想拥有
  • 表达式正确,因此索引0,95被正确写入,并且幂^正确
  • 等号后的换行符
  • 彩色文本,与大写字母相同,因此第一个使用红色

  • 我试图实现已经存在的帖子的答案,但是我没有弄清楚,上面也没有用。

    最佳答案

    首先创建一个包含3个表达式的向量,然后使用substitute创建适当的伪值。请注意,我使用的是as.expression,以便不立即对其进行评估,并使用atop进行换行。然后在调用legend时使用该向量:

    v <- c(
    as.expression(substitute(atop(Qua[0.99]^normal == "", dummy), list(dummy=round(dummy1,4)))),
    as.expression(substitute(atop(Qua[0.95]^normal == "", dummy), list(dummy=round(dummy2,4)))),
    as.expression(substitute(atop(Qua[0.99]^t == "", dummy), list(dummy=round(dummy3,4))))
    )
    cols <- c("red","black","darkgreen")
    legend("topright", legend=v, bty = "n",lwd=2, cex=1, col=cols, text.col=cols, lty=c(1,3,5))

    文字的颜色由 text.col设置。

    如果您要坚持使用 bquote而不是 substitute:
     v <- c(
    as.expression(bquote(atop(Qua[0.99]^normal == "", .(round(dummy1,4))))),
    as.expression(bquote(atop(Qua[0.95]^normal == "", .(round(dummy2,4))))),
    as.expression(bquote(atop(Qua[0.99]^t == "", .(round(dummy3,4)))))
    )

    要使normal和0.99变为粗体,可以在表达式中使用 bold:
    v <- c(
    as.expression(substitute(atop(Qua[bold(0.99)]^bold(normal) == "", dummy), list(dummy=round(dummy1,4)))),
    as.expression(substitute(atop(Qua[bold(0.95)]^bold(normal) == "", dummy), list(dummy=round(dummy2,4)))),
    as.expression(substitute(atop(Qua[bold(0.99)]^bold(t) == "", dummy), list(dummy=round(dummy3,4))))
    )

    但是0.99实际上并不会非常大胆:

    您可以使用 textstyle尝试使用正常大小的文本:
    v <- c(
    as.expression(substitute(atop(Qua[textstyle(0.99)]^textstyle(normal) == "", dummy), list(dummy=round(dummy1,4)))),
    as.expression(substitute(atop(Qua[textstyle(0.95)]^textstyle(normal) == "", dummy), list(dummy=round(dummy2,4)))),
    as.expression(substitute(atop(Qua[textstyle(0.99)]^textstyle(t) == "", dummy), list(dummy=round(dummy3,4))))
    )

    并得到这个:

    关于r - R : Plot中的高级图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15680134/

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