Die eine Sache, die oft nicht Benutzer zu erfassen, ist, dass man immer braucht nicht zu zitieren Strings und paste
sie zusammen, wenn in einem Ausdruck für eine Plot-Label verwendet. Es ist normalerweise einfacher, die Layout-Werkzeuge direkt zu verwenden (z. B. ~
und *
). Beispiel:
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)))
Alternativ können Sie Zeichenfolgen für längere Textabschnitte einfügen; in diesem Fall ist es wohl einfacher zu machen:
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")))
aber beachten Sie, dass keine Notwendigkeit, hier zu paste
Strings und anderen Funktionen ist.
Beide produzieren:
Beachten Sie die Ausgabe plotmath mit der Exponent hat 2. Vielleicht möchten Sie etwas mehr Platz für die y-Achse Rand hinzuzufügen, dass aufzunehmen:
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)
produzieren
'bquote' ist ein bisschen Overkill hier. "Ausdruck" sollte gut funktionieren. 'bquote' ist am nützlichsten, wenn ein Objekt im Ausdruck durch seinen Wert ersetzt werden soll. –
@GavinSimpson, danke, das ist gut zu wissen! Sieht so aus, als ob "Ausdruck" mit Leerzeichen besser funktioniert als 'bquote', ich habe ein paar seltsame Leerzeichen in der Nähe der Klammern auf meinem Plot ... – Ben
Das ist, weil Sie' ~ mu ~ 'verwenden, um die beiden zu trennen zitierte Strings. Wenn Sie das auf '* mu ~' setzen, erhalten Sie den richtigen Abstand. "~" ist ein Abstandsoperator, "*" stellt die Argumente nebeneinander (d. h. ohne Leerzeichen). –