0

我想为我使用创建的图像添加一些点image.plot。这是我的代码和所需的库。它将 .jpg 放在我的工作目录中。问题是我的观点没有出现在图像上。任何想法不确定我错过了什么?在添加点之前设备是否可能正在关闭?通用数据包括在下面。

install.packages("RColorBrewer")
install.packages("fields")
library("RColorBrewer", lib.loc="...../R-2.15.2/library")
library("fields", lib.loc="...../R-2.15.2/library")

jpeg(paste("Steamflow", "timestep", ".jpg",sep = ''), width = 640,
     height = 441,quality = 75)
image.plot(streamflux, zlim=c(-1,1), col=brewer.pal(11, "RdBu"),  
 yaxt="n", xaxt="n", main=paste("Stress Period ", "timestep", sep = ""))
points(WLX,WLY)
dev.off()

这里是数据集 WLX、WLY 和 streamflux

WLY=c(9, 6, 9, 13, 17, 20, 22)
WLX=c(8, 19, 29, 20, 13, 20, 21)
streamflux=matrix(1:1452,44,33, byrow=FALSE)
4

1 回答 1

0

我之前发布的代码是有效的,但是我没有正确配置我的数据。运行代码所需的库已添加到原始问题中。我用过image.plot,但我相信你会在使用 base 时遇到同样的问题image。如果您只指定一个 z 值矩阵,则使用轴 c(0,1) 绘制图像。如果您为每个单元格指定 x,y,z,我认为您不会遇到我在绘制点超出范围时遇到的问题。如果您决定指定 z 值矩阵比指定 x,y,z 更容易,就像我所做的那样,为了防止您的点被绘制出边界,您将需要缩放您的点数据。就我而言WLX=WLX/44,并且WLY=WLY/33. 作为旁注,如果您不使用规则间隔的数据,您可能需要指定 x,y,z。

于 2013-11-12T01:49:02.080 回答