【问题标题】:use variable and math and strings in paste and expression function when plotting in R在 R 中绘图时,在粘贴和表达式函数中使用变量、数学和字符串
【发布时间】:2017-02-09 09:11:33
【问题描述】:

环境

R 3.3.2

我循环绘制图形。我想在每次迭代中设置标题。

代码如下:

beta1 = 2
alpha1 = 3
main = expression(paste((beta == bquote(.(beta1))) * " my strings " * (alpha == bquote(.(alpha1))) * " my second strings)),

expression 函数确保绘制数学符号,paste 函数将数学符号和字符串组合在一起。现在我想在每次迭代中设置 beta 值。我尝试使用bquote 跟随using-an-expression-in-plot-text-printing-the-value-of-a-variable-rather-than-its-name,但它不起作用。

我的期望值应该是:

β = 1 my strings α = 3 my second strings

任何想法或替代方法或任何建议?谢谢。

【问题讨论】:

    标签: r expression


    【解决方案1】:

    bquote()函数内部进行粘贴:

    for(iter in 1:3){
      txt = bquote(beta == .(paste(iter, "my strings")))
      print(plot(0, 0 , main = txt, type = "n"))
      text(0, 0, txt)
    }
    

    编辑:如果您还想在情节中显示文本,而不仅仅是作为标题。

    【讨论】:

    • beta1 的值已绘制出来。但beta 未显示为β。它没有绘制数学图。
    • 我无法在 Rstudio 1.0.136、R 3.3.2 上重现该错误。在 R 和 RStudio 中都没有。当您使用main= 时,您是在谈论标题还是您想要情节中的文字?
    • 我也在情节中添加了文本,如果有的话。
    • 是的。有用。我使用 Rscript 运行脚本并将其绘制为 pdf 并且它显示正确。但是当我使用 R studio 和 R Gui 或 Rscript 绘制 png 时,它不起作用。这可能是我的系统出了问题。
    • 是的,我想要剧情标题。但是绘制文本是一样的。现在 (main= bquote(paste((beta == .(beta1)) * " my strings " * (alpha == .(alpha1)) * " my second strings"))) 只需将 expression 替换为 bquote。它可以工作(仍然可以在带有 pdf 的 Rscript 中工作)。 bquote will create an expression 谢谢@BigDataScientist
    猜你喜欢
    • 2012-04-17
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2017-05-24
    相关资源
    最近更新 更多