Jedyną rzeczą, że użytkownicy często nie do uchwycenia jest to, że zawsze nie trzeba cytować ciągi i paste
je razem, gdy są używane w wyrażeniu dla etykiety wydruku. Zwykle prostsze jest korzystanie bezpośrednio z narzędzi do projektowania (np. ~
i *
). Na przykład:
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)))
Można również dołączyć ciągi do dłuższych sekcji tekstu; w tym przypadku jest to zapewne łatwiej zrobić:
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")))
jednak pamiętać, że nie ma potrzeby paste
łańcuchów i innych funkcji tutaj.
Zarówno produkować:
Zanotuj plotmath ma problem z odnośnikiem 2. Możesz chcieć dodać dodatkową przestrzeń do marginesu osi y, aby pomieścić że:
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)
produkujące
'bquote' to trochę przesady tutaj. "Wyrażenie" powinno działać poprawnie. 'bquote' jest najbardziej użyteczny, gdy chcemy zamienić obiekt w wyrażeniu na jego wartość. –
@GavinSimpson, dzięki, to dobrze wiedzieć! Wygląda na to, że 'expression' również ma lepszą pracę z spacjami niż' bquote', mam kilka dziwnych spacji w pobliżu nawiasów na moim spisku ... – Ben
Dzieje się tak, ponieważ używasz '~ mu ~', aby oddzielić dwa cytowane ciągi. Jeśli ustawisz to na '* mu ~', uzyskasz odpowiedni odstęp. '~' jest operatorem odstępu, '*' zestawia argumenty (tj. bez spacji). –