gpt4 book ai didi

r - 制作带有行和列标题的图矩阵

转载 作者:行者123 更新时间:2023-12-01 00:59:51 25 4
gpt4 key购买 nike

使用 par(mfrow = c(m,n))命令我可以使用 m 轻松制作绘图矩阵行和 n列。

在特殊情况下,地块中存在一种模式,即每列中的所有地块共享一个重要属性,而每行中的所有地块共享一个不同的重要属性。所有这些信息都可以包含在每个 m*n 的标题中。单独绘制,但这显然是重复的。

是否有一种方便的方法可以在这样的网格中附加列名(仅在图的顶行上方)和行名(仅在图的左列的左侧)?

迄今为止的最佳解决方案 : 使用 text()命令将文本放置在左侧和顶部图之外。但这并不令人满意,因为它需要许多单独的命令,并需要调整参数,例如 srt = 90使文本在左边距垂直,并使用 xpd = NA内部 par() .

最佳答案

lattice 和 ggplot2 包具有在网格中创建多个绘图的工具。如果它们适用于您想做的事情,它们可能会加快您的整个过程。

library(lattice)

splom( ~ iris[,1:4], data=iris, groups=Species )
xyplot( mpg ~ wt | factor(cyl)*factor(am), data=mtcars )

library(ggplot2)

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p + facet_grid(am ~ cyl)

使用基本图形,您可以从设置外边距开始,请参阅 oma par 的论据命令,然后使用 mtext函数将文本写入标签的外边距。
par( oma=c(0,6,6,0), mfrow=c(2,2), mar=c(2,2,1,1)+0.1 )
with(iris, plot(Sepal.Width, Petal.Width, ann=FALSE))
mtext( 'Width', side=3, line=2, at=grconvertX(0.5,'npc','nic'), outer=TRUE )
mtext( 'Width', side=2, line=2, at=grconvertY(0.5,'npc','nic'), outer=TRUE )
mtext( 'Sepal', side=3, line=4, outer=TRUE, cex=2 )
mtext( 'Petal', side=2, line=4, outer=TRUE, cex=2 )
with(iris, plot(Sepal.Length, Petal.Width, ann=FALSE))
mtext( 'Length', side=3, line=2, at=grconvertX(0.5,'npc','nic'), outer=TRUE )
with(iris, plot(Sepal.Width, Petal.Length, ann=FALSE))
mtext( 'Length', side=2, line=2, at=grconvertY(0.5, 'npc','nic'), outer=TRUE )
with(iris, plot(Sepal.Length, Petal.Length, ann=FALSE))

关于r - 制作带有行和列标题的图矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24437275/

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