一兩件事,往往用戶無法把握的是,你總是不需要引用字符串和paste
它們在一起用於劇情標籤的表達式時。直接使用佈局工具通常更簡單(例如,~
和*
)。例如:
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)))
或者,您可以包含更長的文本部分的字符串;在這種情況下,它可以說是更容易做到:
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")))
但要注意有沒有必要paste
字符串和其他功能在這裏。
兩個生產:

注意的問題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)
生產

'bquote'在這裏有點矯枉過正。 '表達式'應該可以正常工作。當需要用表達式中的值替換表達式中的對象時,'bquote'是最有用的。 –
@GavinSimpson,謝謝,很高興知道!看起來'表達式'在間距字符上的效果比'bquote'更好,我的情節上的圓括號附近有幾個奇數空格...... – Ben
這是因爲你用'〜mu〜'來分隔兩個引用的字符串。如果你把它設置成'* mu〜',你會得到正確的間距。 '〜'是一個間距運算符,'*'並置這些參數(即沒有空格)。 –