gpt4 book ai didi

r - 如何在 R 的一个面板中显示多个图?

转载 作者:行者123 更新时间:2023-12-02 17:40:16 28 4
gpt4 key购买 nike

我有以下图表,我想在一个面板中显示所有图表!我怎样才能使用矩阵来做到这一点?另外我想知道是否有其他方法而不是使用 matrixlayout

> plot(density(Boston$tax))
> rug(Boston$tax, col=2, lwd=3.5)
> hist(Boston$tax)
> rug(Boston$tax, col=2, lwd=3.5)
> table(Boston$chas)
Off On
471 35
> barplot(table(Boston$chas))

> f1<-layout(matrix(c(0, 1,1,1,0,2,2,2,0,3,3,3) ,nrow = 4, ncol = 4, byrow = TRUE))
> layout.show(f1)

我希望情节 1、2 和 3 具有这样的结构:

##      [,1] [,2] [,3] [,4]
## [1,] 0 1 1 1
## [2,] 0 2 2 2
## [3,] 0 3 3 3
## [4,] blank0 0 0

但是我的代码的输出显示了一些不同的东西: enter image description here有人可以向我解释下图 c(...) 是如何构造的吗? enter image description here

最佳答案

来自 ?layout

Description:

‘layout’ divides the device up into as many rows and columns as
there are in matrix ‘mat’, with the column-widths and the
row-heights specified in the respective arguments.

所以如果我们的矩阵是

matrix(1:4, 2, 2, byrow = TRUE)
## [,1] [,2]
## [1,] 1 2
## [2,] 3 4

我们的布局是这样的

enter image description here

如果我们只想在顶行绘制 1 个图,我们可以将矩阵指定为

matrix(c(1, 1, 2, 3), 2, 2, byrow = TRUE)
## [,1] [,2]
## [1,] 1 1
## [2,] 2 3

布局将是

enter image description here

mat <- matrix(1:3, 3, 3)
mat <- rbind(cbind(0, mat), 0)
## [,1] [,2] [,3] [,4]
## [1,] 0 1 1 1
## [2,] 0 2 2 2
## [3,] 0 3 3 3
## [4,] 0 0 0 0

enter image description here

layout(mat)

plot(density(Boston$tax))
rug(Boston$tax, col=2, lwd=3.5)
hist(Boston$tax)
rug(Boston$tax, col=2, lwd=3.5)
barplot(table(Boston$chas))

enter image description here

关于r - 如何在 R 的一个面板中显示多个图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718604/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com