我是R的新手,正在尝试使用R中的绘图功能。在Linux环境中使用R
jpeg('rplot1.jpg')
plot(sample,cex=0.9,col="blue")
Error in plot.new() : figure margins too large
dev.off()
根据我的理解,我需要增加绘图面板的大小。不知道怎么做。已经
答案 0 :(得分:1)
您正在为plot
函数提供一个列表(因为数据帧是列表)。请尝试改为:
plot(sample[[1]], sample[[2]], cex=0.9, col="blue")
答案 1 :(得分:1)
只是澄清一下,将data.frame
所有数字列传递给plot
函数等同于调用pairs
绘制所有列的散点图矩阵。你可能知道这一点。
据我所知,错误的原因很简单,即设备(jpeg
)不够大,无法合理地包含整个散点图矩阵。例如,
mysamp <- matrix(rnorm(10000), nrow = 100)
mydat <- as.data.frame(mysamp)
plot(mydat)
# Error in plot.new() : figure margins too large
为了成功创建绘图,请将较大的值传递给width
的{{1}}和height
参数。这是一个带有jpeg
参数的函数,该函数应该是一个数值,用于乘以jpeg的高度和宽度。
hwFact
以下迭代使用上述函数连续增加myFun <- function(data, hwFact = 1){
jpeg("rplot1.jpg", width = 500 * hwFact, height = 500 * hwFact)
plot(data, cex = .9, col = "blue")
dev.off()
}
,直到创建jpeg。成功创建jpeg后,将打印迭代编号并停止迭代。 (这几乎是情节的最小尺寸,很可能太小而无法阅读。)
hwFact
所以它需要一个宽度和高度为1500(即500 * 3)的jpeg来创建一个(完全难以辨认的)情节。一旦知道最小尺寸,就必须尝试找到合适的尺寸。