在plotmath()中使用两个变量和一个表达式

时间:2013-01-24 11:01:36

标签: r plotmath

我想做这样的事情:

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

其中typas是数字的向量,典型的是chars的向量,例如:

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

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

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

1 个答案:

答案 0 :(得分:3)

目前还不清楚你想要什么,但如果它只是一个包含两个信息位的表达式,则不需要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)

这三个地块看起来像这样:

enter image description here

最后两个基本相同。