Подтвердить что ты не робот

Специальные символы и надписи на названиях сюжетов

Я пытаюсь сделать заголовок оси y со специальным символом и надстрочным индексом. Я могу сделать это, но я хочу, чтобы закрывающиеся круглые скобки не были надстрочными. И это то, с чем я столкнулся. Я думаю, что это просто размещение моих круглых скобок, но я пробовал (по-видимому) все.

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)
4b9b3361

Ответ 1

Единственное, чего часто не понимают пользователи, это то, что вам всегда не нужно указывать строки и 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 и других функциях.

Оба производят:

enter image description here

Обратите внимание, что проблема 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)

производство

enter image description here

Ответ 2

Это решает проблему закрытой круглой скобки с суперширинным скриптом:

# 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"*")"))

enter image description here