Выражение и новая строка в метках графика
Я хочу добавить некоторые индексы и надписи к моим меткам графа. Я попробовал expression
, но он не работает с новыми строками (\n
). Я пытаюсь исправить это с помощью paste
, но это не сработает. Ниже приведены некоторые из моих попыток:
par(mfcol=c(1,3))
plot(1,1,main=expression("first line \n second line x"^2))
plot(1,1,main=expression(paste("first line \n second line", "x"^2)))
plot(1,1,main=paste("first line \n second line", expression("x"^2)))
Он производит:
![enter image description here]()
В первых двух картинах вторая строка не очень хорошо центрирована, а в третьем - верхний индекс. Как получить как центрированную линию, так и индексы/верхние индексы?
Ответы
Ответ 1
Вы можете ввести разрыв строки внутри выражения:
bquote(atop("first line",
"second line" ~ x ^ 2))
(Im использует bquote
вместо expression
здесь - оба работают в этом случае.)
Выполните demo(plotmath)
для получения дополнительной информации и посмотрите документацию для atop
.
boxplot
, по-видимому, имеет некоторые проблемы с интерпретацией выражений в названии. Простое исправление заключается в том, чтобы нанести заголовок отдельно:
boxplot(data, main = '')
title(bquote(atop("first line", "second line" ~ x ^ 2)))
Ответ 2
Быстрое решение - добавить некоторые пробелы перед словом "первым".
Так как plotmath
не поддерживает новые строки, вы можете использовать mtext
для создания строк один за другим следующим образом:
plot(1,1)
exp <- 2
Lines <- list(bquote("first line"),bquote("second line x"^2))
mtext(do.call(expression, Lines),side=3,line=1:0)
![enter image description here]()