【问题标题】:use two variables and an expression within a plotmath()在 plotmath() 中使用两个变量和一个表达式
【发布时间】:2013-01-08 02:45:23
【问题描述】:

我想做这样的事情:

Title<-paste(typis[which.panel],bquote(nu[x]==.(typas[which.panel])),sep="")

其中 typas 是数字向量,typis 是字符向量,例如:

typas<-1:3
typis<-letters[1:3]

which.panel 是 1:3 的整数(这是因为 Title 会改变 根据小组)

nu[x] 应该显示为plotmath 对象。 但是 R 忽略了逗号后面的所有内容 paste :(

【问题讨论】:

  • 那么which.panel是什么?
  • 你想达到什么目的?您希望面板标签 (typis) 后跟单个表达式中的 nu[x] 位吗?
  • 几乎;我想要 typis[1],然后是 nu[x],然后是 typas[1]。第一个和第三个应该评估,第二个不。所以字符串将是:// "a " $\nu_x=$ 1 // 其中 $\nu_x$ 应该显示一个绘图符号...这清楚吗!?
  • @user189035 看看我的回答,这就是你想要/想要的吗?

标签: r plotmath


【解决方案1】:

目前还不清楚你想要什么,但如果它只是一个包含两个信息位的表达式,你不需要paste(),只需在bquote()调用中包含两个位并用一个分隔它们或更多 ~ 取决于您想要多少空间。需要注意的关键是bquote() 可以包含任意数量的不同.()

typas <- 1:3
typis <- letters[1:3]
which.panel <- 2
expr <- bquote(.(typis[which.panel]) ~~ nu[x]==.(typas[which.panel]))

plot(1:10, main = expr)

如果您需要围绕表达式的 typis 部分进行更多格式设置(如果这是面板标签,请添加 :),然后将其添加到相关的 .() 中:

expr2 <-
  bquote(.(paste0(typis[which.panel], ":")) ~~ nu[x]==.(typas[which.panel]))
plot(1:10, main = expr2)

当然,这可以在表达式之外完成:

typis2 <- paste0(letters[1:3], ":")
expr3 <- bquote(.(typis2[which.panel]) ~~ nu[x]==.(typas[which.panel]))
plot(1:10, main = expr3)

三个图如下所示:

最后两个基本上是等价的。

【讨论】:

  • 谢谢正是我想知道的...不知道~!
猜你喜欢
  • 2020-03-23
  • 2021-02-20
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 2015-03-29
  • 2018-05-24
  • 1970-01-01
相关资源
最近更新 更多