Создание подзаговоров с использованием базы R - PullRequest
0 голосов
/ 11 октября 2019

Эта ссылка показывает хорошие примеры создания параллельных графиков с использованием нескольких пакетов. Тем не менее, я хотел бы создать (4 x 1) график в R, используя только базовые функции.

Вот что я пробовал:

par(mar=c(0.2, 0.2, 0.7, 0.7), mfrow=c(4,1), oma = c(4, 4, 0.2, 0.2))
# Plot 1
plot(my_data$date, my_data$col1, type="l", col = "red", ylab = expression("my_legend"^{-5}), xlab = "", xaxt="nan", lwd = 1)
lines(my_data$date, my_data$col2, type="l", col = "blue", lwd = 1)
legend(14, 20, legend=c("Line 1", "Line 2"), col=c("red", "blue"), lty=1:2, cex=0.8)
# Plot 2
plot(my_data$date, my_data$col3, type="l", col = "magenta",xlab = "", xaxt = "nan", ylab = expression("my_legend"^{2}))
lines(my_data$date, my_data$col4, type="l", col = "green")
legend(14, 20, legend=c("Line 3", "Line 5"), col=c("orange", "yellow"), lty=1:2, cex=0.8)
# Plot 3
plot(my_data$date, my_data$col5, type="l", col = "olivedrab2",xlab = "", xaxt = "nan", ylab = expression("my_legend"^{8}))
# Plot 4
plot(my_data$date, my_data$col6, type="l", col = "sandybrown", xlab = "Time (3 May 1994)", ylab = expression("my_legend"^{7}))

Я хочу названия по осям Y (все четыре графика) и общий заголовок оси х (график 4). То есть заголовок оси Y (здесь, график 1) не отображается, а также заголовок оси X (график 4) и легенды (внутри графика 1) не отображаются. Может ли кто-нибудь помочь мне понять, почему?

1 Ответ

1 голос
/ 11 октября 2019

Вы можете найти эту ссылку полезной.

https://stevencarlislewalker.wordpress.com/2012/06/28/overall-axis-labels-with-mfrow/

Я скопирую код здесь на случай, если ссылка умрет, но вы должны прочитать его пост. По состоянию на 2019 это было все еще доступно. Идея состоит в том, чтобы построить без осей, используя xaxt='n' и yaxt='n', затем используйте mtext, чтобы обозначить «общие» оси, пометив поля графика.

Я все еще думаю, что ggplot предлагает вам больше возможностей, возможноваша компания не позволяет вам установить его?

# thanks to 
# https://stevencarlislewalker.wordpress.com/2012/06/28/overall-axis-labels-with-mfrow/
par(mfrow = c(2, 2)) # 2-by-2 grid of plots
par(oma = c(4, 4, 0, 0)) # make room (i.e. the 4's) for the overall x and y axis titles
par(mar = c(2, 2, 1, 1)) # make the plots be closer together

# now plot the graphs with the appropriate axes removed (via xaxt and yaxt),
# remove axis labels (so that they are not redundant with overall labels,
# and set some other nice choices for graphics parameters
plot(runif(10), xlab = '', ylab = '', xaxt = 'n', las = 1, ylim = c(0, 1))
plot(runif(10), xlab = '', ylab = '', xaxt = 'n', yaxt = 'n', ylim = c(0, 1))
plot(runif(10), xlab = '', ylab = '', las = 1, ylim = c(0, 1))
plot(runif(10), xlab = '', ylab = '', yaxt = 'n', ylim = c(0, 1))

# print the overall labels
mtext('x-axis title', side = 1, outer = TRUE, line = 2)
mtext('y-axis title', side = 2, outer = TRUE, line = 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...