在R Studio中使用填充的等高线进行网格.arrange

在R Studio中使用填充的等高线进行网格.arrange,r,R,我用filled.contour函数创建了一些绘图。然后我想画两个相邻的图。因此我使用了grid.arrange函数。 这是我的代码: install.packages("gridExtra") install.packages("lattice") install.packages("grid") library(lattice) library(gridExtra) library(grid) # Fake data x <- c(1:10) y <- c(1:10) z&

我用filled.contour函数创建了一些绘图。然后我想画两个相邻的图。因此我使用了grid.arrange函数。 这是我的代码:

install.packages("gridExtra")
install.packages("lattice")
install.packages("grid")
library(lattice)
library(gridExtra)
library(grid)

# Fake data 
x <- c(1:10)

y <- c(1:10)
z<-matrix(data=c(1:100), nrow=10, ncol=10, byrow = FALSE)


p1<-filled.contour(x,y,z, color = terrain.colors, asp = 1) # simple


# Lay out both plots
grid.arrange(p1,p1, ncol=2)
install.packages(“gridExtra”)
安装程序包(“lattice”)
安装程序包(“网格”)
图书馆(格子)
图书馆(gridExtra)
图书馆(网格)
#假数据

正如@eipi10所指出的,填充轮廓是基本图形,因此您应该使用基本排列函数,即
par(mfrow=c(1,2))
并排排列两个图

编辑:显然,填充轮廓以击败所有布局尝试而闻名。我尝试了
par(plt…
layout()
par(mfrow…
我发现filled.countour3是一种解决方法,如下所述:


在这个网站上有问题14758391。很抱歉造成混淆,

正如@eipi10所指出的,filled.contour是基本图形,因此您应该使用基本排列功能,即
par(mfrow=c(1,2))
并排排列两个图

编辑:显然,填充轮廓以击败所有布局尝试而闻名。我尝试了
par(plt…
layout()
par(mfrow…
我发现filled.countour3是一种解决方法,如下所述:


在这个网站上有问题14758391。很抱歉造成混淆。contour
是一个基本的图形函数,而不是一个
lattice
函数,并且不会生成一个grob或一个可以转换为grob的对象(尽管可能可以使用
gridBase
包中的函数将其转换为grob)。如果您键入
p1,还可以看到我的contourplot和levelplot的问题是,它们需要的输入与填充的.contour不同。
filled.contour
是一个基本的图形函数,而不是
lattice
函数,并且不会生成grob或可以转换为grob的对象(尽管可以使用
gridBase
包中的函数将其转换为grob)。如果您键入
p1,也可以看到我对contourplot和levelplot的问题,即它们需要的输入与填充的不同。contour。我尝试过。您会收到两个单独的绘图,而不是一个两者都有的绘图。好的。您能修改我的代码以使其正常工作吗?或者您能给我另一个示例代码吗?我非常感激。@rsl93;我的apo因此,在这种情况下,您不能使用
mfrow
,因为函数
已填充。contour
重复了
plot.new()
调用。我建议使用我上面给出的链接中的方法(ps如果您查看代码中的
p1
对象,则该对象为空,因此您无法将它们组合在一起:通常,您无法将基本R图指定给对象)我试过了。你收到了两个独立的绘图,而不是一个两个都有的绘图。好的。你能修改我的代码使其正常工作吗?或者你能给我另一个示例代码吗?我真的很感激。@rsl93;对不起,在这种情况下,你不能使用
mfrow
,因为函数
填充了。等高线
重复了
plot.new()
通过它调用。我建议使用我上面给出的链接中的方法(ps,如果你在代码中查看
p1
对象,它是空的,因此你不能将它们组合在一起:通常你不能为对象指定一个基R图)
install.packages("gridExtra")
install.packages("lattice")
install.packages("grid")
library(lattice)
library(gridExtra)
library(grid)

# Fake data (taken from the fill.contour help examples)
x <- c(1:10)

y <- c(1:10)
z<-matrix(data=c(1:100), nrow=10, ncol=10, byrow = FALSE)


p1<-filled.contour(x,y,z, color = terrain.colors, asp = 1) # simple
p1<-grob(p1)
is.grob(p1)


# Lay out both plots
grid.arrange(p1,p1, ncol=2)