【问题标题】:Include variable, comma and greek symbol in an expression在表达式中包含变量、逗号和希腊符号
【发布时间】:2015-12-11 14:30:02
【问题描述】:

我想创建一个绘图标题“Case1,\xi_{DES}”,其中\xi 是希腊字母,DES 必须是下标,而“Case1”实际上存储在一个变量中。关注

expression + variable value + normal text in plot maintitle

我试过了

Case="Case1"
x=1:3
y=rnorm(3)
plot(x,y, cex=1.5, cex.lab=1.5, 
pch=16, xlab="degree", ylab=expression(italic(paste("|",hat(F),"|"))),
main=bquote(.(Case) ~ , eta[DES]), col="tomato",log="y")

但这不起作用。下面的排序工作:

plot(x,y, cex=1.5, cex.lab=1.5, 
pch=16, xlab="degree", ylab=expression(italic(paste("|",hat(F),"|"))),
main=bquote(.(Case) ~  eta[DES]), col="tomato",log="y")

但我必须删除逗号。这是为什么?有没有办法在 R 中获得我想要的标题?

【问题讨论】:

  • 试试plot(x,y, cex=1.5, cex.lab=1.5, pch=16, xlab="degree", ylab=expression(italic(paste("|",hat(F),"|"))), main=bquote(.(Case)*","* ~ eta[DES]), col="tomato",log="y")

标签: r expression title


【解决方案1】:

如果你不知道(不容易找到),文档在help("plotmath")

par(mar = c(5, 5.5, 4, 2) + 0.1)
plot(x,y, cex=1.5, cex.lab=1.5, 
     pch=16, xlab="degree", ylab=expression(italic(group("|",hat(F),"|"))),
     main=bquote(.(Case)*","~xi[{DES}]), col="tomato",log="y")

【讨论】:

  • 不错!但是,我使用了paste 而不是* - 这更类似于expression 的典型用法。换句话说,我使用了main=bquote(paste(.(Case),", ",eta[DES]))
  • 我没有理由使用paste,但适合自己。请注意我是如何在您的 ylab 中使用 group 的。
  • 我没有注意到这一点。 grouppaste 有什么区别?如果您在 Stack Overflow 上查看有关expression 的其他答案,通常建议使用paste(例如,我的ylab 几乎是从其中一个答案中提取的)。除此之外,我并不偏爱paste,所以如果你向我解释group* 的优点,我完全可以不使用paste
  • grouppaste 之间的区别在文档中进行了说明。输出甚至看起来不同。
猜你喜欢
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-21
  • 2015-09-07
  • 1970-01-01
相关资源
最近更新 更多