R 打印轴标题上的特殊字符和上标
我正在尝试用一个特殊字符和一个上标来制作一个y轴标题。我能够做到这一点,但我不希望右括号上标。这就是我的问题所在。我想这只是我的插入语,但我(似乎)已经尝试了一切R 打印轴标题上的特殊字符和上标,r,plot,superscript,plotmath,R,Plot,Superscript,Plotmath,我正在尝试用一个特殊字符和一个上标来制作一个y轴标题。我能够做到这一点,但我不希望右括号上标。这就是我的问题所在。我想这只是我的插入语,但我(似乎)已经尝试了一切 plot(WatexCl, ConcuM, col = as.numeric(1), pch = as.numeric(Depth), xlab = expression(paste("Concentration Cl ( ", mu, "moles/g dry wt)")), ylab = expression(p
plot(WatexCl, ConcuM, col = as.numeric(1), pch = as.numeric(Depth),
xlab = expression(paste("Concentration Cl ( ", mu, "moles/g dry wt)")),
ylab = expression(paste("Average Conc of S- on plates ( ", mu, "Moles/cm"^"2"),)),
data = plates)
这解决了超级脚本右括号的问题:
# reproducible data
plates <- data.frame(WatexCl = rnorm(100), ConcuM = rnorm(100), Depth = rnorm(100))
# alter the default plot margins so the
# superscript in the y-axis label is completely displayed
par(mar=c(5,5,4,2))
# draw the plot
plot(WatexCl ~ ConcuM, data = plates,
col = as.numeric(1),
pch = as.numeric(Depth),
xlab = bquote("Concentration Cl ("*mu~"moles/g dry wt)"),
ylab = bquote("Average Conc of S- on plates ("~mu~"Moles/cm"^"2"*")"))
#可复制数据
图版用户经常无法理解的一件事是,在打印标签的表达式中使用时,通常不需要引用字符串并将它们粘贴在一起。直接使用布局工具通常更简单(例如~
和*
)。例如:
df <- data.frame(y = rnorm(100), x = rnorm(100))
plot(y ~ x, data = df,
ylab = expression(Average ~ Conc ~ of ~ S- ~ on ~ plates ~
(mu ~ Moles ~ cm^{-2} ~ dry ~ wt)),
xlab = expression(Concentration ~ Cl ~ (mu ~ moles ~ g^{-1} ~ dry ~ wt)))
但是请注意,这里不需要粘贴字符串和其他功能
两者都产生:
请注意plotmath与上标2之间存在的问题。您可能希望为y轴边距添加一些额外的空间,以适应:
op <- par(mar = c(5,4.5,4,2) + 0.1)
plot(y ~ x, data = df,
ylab = expression("Average Conc of S- on plates" ~
(mu ~ moles ~ cm^{-2} ~ "dry wt")),
xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))
par(op)
opbquote
在这里有点过分了<代码>表达式
应该可以正常工作bquote
在需要将表达式中的对象替换为其值时最有用。@GavinSimpson,谢谢,很高兴知道!看起来expression
比bquote
在空格字符方面也做得更好,我在绘图的括号附近有一些奇怪的空格…这是因为您使用~mu~
来分隔两个带引号的字符串。如果您将其设置为*mu~
,您将获得正确的间距~
是一个空格运算符,*
将参数并置(即没有空格)。
op <- par(mar = c(5,4.5,4,2) + 0.1)
plot(y ~ x, data = df,
ylab = expression("Average Conc of S- on plates" ~
(mu ~ moles ~ cm^{-2} ~ "dry wt")),
xlab = expression("Concentration Cl" ~ (mu ~ moles ~ g^{-1} ~ "dry wt")))
par(op)