У меня возникают проблемы с попыткой автоматического создания составных фигур в R с различным количеством панелей. Когда у меня есть 3 или более панелей на моей фигуре, поля значительно отличаются (меньше на графике 1x3), что достаточно, чтобы заставить R неправильно нарисовать метки и отвлечь их от общего вида.R: layout() влияет на размер маржи в областях участка
# plot empty plot with box around plot and figure
plot_box <- function() {
plot(1, 1, type='n', bty='n', xaxt='n', yaxt='n', xlab='', ylab='')
box(lwd = 6)
box("figure", lwd=6, col='red')
}
png("box_test1.png", width=1000, height=500)
par(oma=c(0,0,0,0))
layout(t(1:2))
par(mar=c(3, 3, 3, 3))
plot_box()
par(mar=c(3, 3, 3, 3))
plot_box()
dev.off()
png("box_test2.png", width=1500, height=500)
par(oma=c(0,0,0,0))
layout(t(1:3))
par(mar=c(3, 3, 3, 3))
plot_box()
par(mar=c(3, 3, 3, 3))
plot_box()
par(mar=c(3, 3, 3, 3))
plot_box()
dev.off()
Изображения масштабируется для отображения на переполнение стека, но, как вы можете видеть из вызовов устройства они точно такого же размера.
Эта проблема очень запутанна для меня и, честно говоря, выглядит как ошибка, однако я знаю, что код построения R очень зрелый, поэтому я надеюсь на решение.
Почему она должна быть обязательно ошибка? Кроме того, посмотрите на пакеты 'решетка' и' ggplot2'. –
Я знаю о других пакетах построения, но я использую базовую графику для создания моих графиков (в основном image() на больших массивах). Я говорю об ошибке, потому что поля указаны как кратность строк текста, которые должны быть инвариантными к общему размеру графика (очевидно, пропорции будут меняться). – mgperry