R:绘制多个图形时保留轴标签和比例
R: keeping axis labels and scales when plotting multiple graphs
我正在使用以下公式绘制 5 个图形:
my_data <- as.data.frame(datasets::volcano)
layout(matrix(c(1,2,3,4,5,6), 3, 2, byrow = TRUE))
par(mar=c(1,1,1,1))
plot(my_data$V1, my_data$V2)
plot(my_data$V3, my_data$V4)
plot(my_data$V5, my_data$V6)
plot(my_data$V7, my_data$V8)
plot(my_data$V9, my_data$V10)
plot.new()
效果很好,但我放宽了第 1、3 和 5 个图的 y 轴和后者的 x 轴的比例。在我 dev.off().
之前,我以后做的任何事情都会发生这种情况。
谢谢!
您可以使用 par(mfrow = c(3, 2))
并调整边距。您可能需要增加 window 的大小以适应绘图
my_data <- as.data.frame(datasets::volcano)
par(mfrow = c(3, 2))
par(mar = c(2, 2, 2, 2))
plot(my_data$V1, my_data$V2)
plot(my_data$V3, my_data$V4)
plot(my_data$V5, my_data$V6)
plot(my_data$V7, my_data$V8)
plot(my_data$V9, my_data$V10)
除了 @AllanCameron 的解决方案——我会牢记 layout
,因为它非常有用!此外,您可能希望将 RStudio "Plots" window 视为预览工具。最好使用 pdf
或 png
保存您的绘图,如下所示;该情节将保存在您的 getwd()
中。此外,您可以通过创建可以由 sapply
.
循环的 sub.cols
数据框来避免重复 plot
调用
my_data <- as.data.frame(datasets::volcano)
sub.cols <- as.data.frame(matrix(1:10, 2))
png("myPlot01.png", width=400, height=600)
layout(matrix(1:6, 3, 2, byrow=TRUE))
op <- par(mar=c(4.5, 2.5, 1.5, 1.5)) ## set par and store old par
sapply(sub.cols, function(i) plot(my_data[i]))
plot.new()
par(op) ## restore old par
dev.off()
如果弄脏的控制台让您烦恼,您可以执行上面的 invisible(sapply(.))
。
我正在使用以下公式绘制 5 个图形:
my_data <- as.data.frame(datasets::volcano)
layout(matrix(c(1,2,3,4,5,6), 3, 2, byrow = TRUE))
par(mar=c(1,1,1,1))
plot(my_data$V1, my_data$V2)
plot(my_data$V3, my_data$V4)
plot(my_data$V5, my_data$V6)
plot(my_data$V7, my_data$V8)
plot(my_data$V9, my_data$V10)
plot.new()
效果很好,但我放宽了第 1、3 和 5 个图的 y 轴和后者的 x 轴的比例。在我 dev.off().
之前,我以后做的任何事情都会发生这种情况。谢谢!
您可以使用 par(mfrow = c(3, 2))
并调整边距。您可能需要增加 window 的大小以适应绘图
my_data <- as.data.frame(datasets::volcano)
par(mfrow = c(3, 2))
par(mar = c(2, 2, 2, 2))
plot(my_data$V1, my_data$V2)
plot(my_data$V3, my_data$V4)
plot(my_data$V5, my_data$V6)
plot(my_data$V7, my_data$V8)
plot(my_data$V9, my_data$V10)
除了 @AllanCameron 的解决方案——我会牢记 layout
,因为它非常有用!此外,您可能希望将 RStudio "Plots" window 视为预览工具。最好使用 pdf
或 png
保存您的绘图,如下所示;该情节将保存在您的 getwd()
中。此外,您可以通过创建可以由 sapply
.
sub.cols
数据框来避免重复 plot
调用
my_data <- as.data.frame(datasets::volcano)
sub.cols <- as.data.frame(matrix(1:10, 2))
png("myPlot01.png", width=400, height=600)
layout(matrix(1:6, 3, 2, byrow=TRUE))
op <- par(mar=c(4.5, 2.5, 1.5, 1.5)) ## set par and store old par
sapply(sub.cols, function(i) plot(my_data[i]))
plot.new()
par(op) ## restore old par
dev.off()
如果弄脏的控制台让您烦恼,您可以执行上面的 invisible(sapply(.))
。