Я хочу объединить 4 фигуры в одном и том же участке. Каждый barplot
связан с участком image
. Я хочу, чтобы ширина полосы была точно такой же ширины, как ширина сетки на участке image
. Верхняя панель и левая панель.Точный контроль ширины штанги в штриховом шкафу
Я наклеил свой код для подражания. Как я могу изменить для этой цели? Или я могу использовать ggplot2
для этого?
datMat <- matrix(rep(1, 100), nrow=10)
op=par(oma=c(1, 1, 1, 1), mar=c(1, 1, 1, 1), lwd=0.2, cex=.5)
nf <- layout(matrix(c(0, 1, 0, 2, 3, 4), 2, 3, byrow=TRUE), widths=c(1, 6, 1),
heights=c(1, 3), respect=TRUE)
par(mar=c(3, 0.5, 3, 0), mgp=c(0, 1, -2.2))
barplot(seq(1, 10), width=1, xlim=c(0, ncol(datMat)), xlab="", space=0,
col="blue", border="white")
box("inner", lty="dotted", col="green")
box("outer", lty="solid", col="green")
par(mar=c(0, 0, 0, 0), mgp=c(0, 1, -1))
barplot(-seq(1, 10), ylim=c(0, nrow(datMat)), width=1.025, horiz=TRUE, ,axes
=T, space=0, col="blue", border="white")
par(mar=c(1, 0, 0, 0))
x.len <- ncol(datMat)
y.len <- nrow(datMat)
single.col <- 'chartreuse4'
double.col <- 'blue4'
triple.col <- '#FFFF33'
four.col <- '#FF7F00'
five.col <- '#E41A1C'
colors <- c('grey90', single.col, double.col, triple.col, four.col, five.col)
image(x=1:x.len, y=1:y.len, z=t(datMat), col=colors,
breaks=c(-0.5, 0.5 , 1.5 , 2.5 , 3.5 , 4.5 , 5.5), axes=FALSE, ann=F)
abline(h=seq(0.5, 0.5+y.len), col='white', lwd=0.5);
abline(v=seq(0.5, 0.5+x.len), col='white', lwd=0.5)
par(mar=c(0, 0, 0, 0), mgp=c(0, 1, 0))
barplot(seq(1, 10), ylim=c(0, nrow(datMat)), width=.5, horiz=TRUE, axes=FALSE,
space=0, col="blue", border ="white")
axis(side=1)
sessionInfo()
# R version 3.1.1 (2014-07-10)
# Platform: x86_64-apple-darwin13.1.0 (64-bit)
#
# locale:
# [1] C/UTF-8/C/C/C/C
#
# attached base packages:
# [1] datasets utils stats graphics grDevices methods base
#
# other attached packages:
# [1] xlsx_0.5.7 xlsxjars_0.6.1
# [3] rJava_0.9-6 nutshell_2.0
# [5] nutshell.audioscrobbler_1.0 nutshell.bbdb_1.0
# [7] faraway_1.0.6 MASS_7.3-35
#
# loaded via a namespace (and not attached):
# [1] tools_3.1.1
jbaums, Большое спасибо. Вы ответственно ответили на мой вопрос. Это очень помогает мне. Не могли бы вы поделитесь мной немного больше трюков, как я могу изменить xlab в левом столбце на положительный? Я хочу изменить -10, -6, -2 до 10, 6, 2. Большое спасибо заблаговременно. – Peter
@Peter - см. Мое редактирование выше – jbaums
Большое спасибо. Отлично. – Peter