Добавить текст между несколькими участками - PullRequest
2 голосов
/ 06 ноября 2019

Я строю 5 растров рядом. На рисунке представлена ​​модель линейной регрессии, поэтому график должен представлять r1 ~ r2 + r3 + r4 + r5. Я использую par(), чтобы выстроить в линию 5 растров, и теперь хотел бы добавить текстовые знаки ~,+,+,+ сверху в белые пробелы.

Пример мультиплота:

par(mfrow = c(1,5))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))

Example with empty plots

Желаемый результат (пример создан в MS Paint): Desired example

1 Ответ

4 голосов
/ 06 ноября 2019

вы можете использовать mtext, чтобы записать что-то в поля графика:

par(mfrow = c(1,5))
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
mtext(side = 4, line = 1, "~", cex = 5, font = 2, las = 2)
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
mtext(side = 4, line = 4, "+", cex = 5, font = 2)
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
mtext(side = 4, line = 4, "+", cex = 5, font = 2)
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))
mtext(side = 4, line = 4, "+", cex = 5, font = 2)
plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10))

Вот результат

Обратите внимание, что side = 4 относится к правой части сюжета. las = 2 поворачивает текст на 90 градусов. font = 2 относится к жирным шрифтам. Если вы хотите, чтобы текст между графиками был еще больше, вы можете выбрать cex = 4 или даже больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...