我想在一张图中绘制点云、x和y的数据以及R中的图像。 我知道如何在 Python 中做到这一点,但找不到 imshow 的类似物。
我使用 rasterimage 函数和绘图,但它们会生成 2 个图像。我需要一个。我想将第二个绘制在第一个上方。 这是我尝试过的,其中 mydata 是 kx2 dataframe
plot(1:400, ty="n")
Picture <- readPNG("image.png")
rasterImage(Picture(1,1,50,50))
plot(mydata)
我也尝试过
Picture <- readPNG("image.png")
p <- as_ggplot(rasterImage(Picture(1,1,50,50)+plot(mydata))
p 但这也不起作用并产生空图像。
rasterImage()
函数默认添加到当前绘图。
但是,它接受栅格对象,因此您需要使用 readPNG()
转换通过 as.raster()
读取的内容。
首先,生成数据并读入图像:
library(png)
set.seed(1) # for reproducibility
mydata <- data.frame(x=1:10, y=rnorm(10))
Picture <- readPNG("cat.png")
然后绘制数据,添加栅格,如果需要,重新添加顶部的点(或者仅使用
type='n'
绘制以获得正确的窗口,然后添加)。
plot(mydata, ylim=c(-5,5))
rasterImage(image = as.raster(Picture),
xleft = 1, xright = 5,
ybottom = 0, ytop = 5)
# re-add the points on top if you wish
points(mydata)
这产生了
对于未来的问题,一个最小的工作示例可以让人们更轻松地提供帮助。