首页 > 解决方案 > 如何将刻度标记添加到 RasterImage Plot?

问题描述

如何在以下 RasterImage Plot 的 x 轴和 y 轴上添加刻度线?图像分辨率为 768x512。x 轴应跨度从 0 到 768,均匀间隔的刻度线。y 轴应跨度从 0 到 512,均匀间隔的刻度线。

library(EBImage)
library(png)
f = system.file("images", "sample-color.png", package="EBImage")
img<-readPNG(f)
plot.new()
plot.window(xlim=c(0, 1), ylim=c(0, 1), asp=NA)
rasterImage(img, 0, 0, 1, 1)

输出:

在此处输入图像描述

我尝试使用手动添加轴plot.window(xlim=c(0, ncol(img)), ylim=c(0, nrow(img)), asp=1)

我也试过了plot.window(xlim=c(0,1),ylim = (0,1), asp=NA, axes=T)

标签: rimageplot

解决方案


以下代码将向 x 和 y 轴添加轴刻度:

axis(side=1, at=seq(0,700,100)/768, labels=seq(0,700,100))
axis(side=2, at=seq(0,500,100)/512, labels=seq(0,500,100), las=1)

在此处输入图像描述

要使轴线位于图片的边缘,请使用以下pos参数:

axis(side=1, at=seq(0,700,100)/768, labels=seq(0,700,100), pos=0)
axis(side=2, at=seq(0,500,100)/512, labels=seq(0,500,100), las=1, pos=0)

在此处输入图像描述


推荐阅读