【发布时间】:2016-04-17 16:50:17
【问题描述】:
我有一个dataframe,其中为笛卡尔坐标(x, y) 指定了值c。我使用plot(),结果在 Y 轴上有太多空间。有没有办法修改它?
library(raster)
x <- c(1:60)
y <- c(2:5)
c <- rnorm(60)
Data1 <- data.frame(x, y, c)
raster1 <- rasterFromXYZ(Data1)
plot(raster1)
【问题讨论】:
-
很抱歉,这并不容易控制。您最好的选择是使用您绘制栅格的设备的大小和形状。 See this question and its two answers -- 一份由我本人撰写,另一份由 raster 包的主要作者 -- 提供密切相关的建议和代码。或者使用
spplot()或rasterVis::levelplot(),它们在调整绘图的 x 和 y 限制方面更加复杂。 (试试spplot(raster1)看看我的意思。) -
image()也完成了工作,这是光栅包的一部分。 -
@Badger -- 缺点是它失去了绘制地图时通常需要的 1:1 纵横比。如果你这样做
image(raster1, asp=1),为了获得正确的纵横比,你就会回到OP开始的同样问题...... -
最后,here is a more complete explanation of 为什么这很难实现,使用
plot()。