【问题标题】:Plot in Flipped Java Coordinates在翻转的 Java 坐标中绘图
【发布时间】:2016-07-15 08:01:52
【问题描述】:

我想在 ImageJ 中从具有大小 imageSizeX、imageSizeY 的点对象 Particles$X、Particles$Y 在翻转 Java 坐标(y0 = 左上角)中的灰度图像中绘制一个 ppp 对象,该 ppp 对象来自 ImageJ 中的粒子分析。 我有一种可行的解决方案(自定义示例):

library(spatstat)

X <- ppp(Particles$X, Particles$Y, c(0, imageSizeX), c(0, imageSizeY))
plot(x = 0, y = 0, xlim = c(0, imageSizeX), ylim = c(imageSizeY, 0), type = "n", main = "Density", 
    asp = 1, axes = F, xlab = "X", ylab = "Y")
plot(density(X), xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
plot(X, axes = TRUE, xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
axis(1)
axis(2, las = 2)

导致以下情节(省略图例):

但是我需要使用翻转坐标 (ylim = c(imageSizeY, 0)) 创建一个空绘图命令,然后必须添加 spatstat 图。

如果我尝试绘图:

library(spatstat)
X <- ppp(Particles$X, Particles$Y, c(0, imageSizeX), c(0, imageSizeY))
plot(density(X), xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0))
plot(X, axes = TRUE, xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
axis(1)
axis(2, las = 2)

坐标未翻转 (ylim = c(imageSizeY, 0)):

有没有办法在没有第一个定义绘图命令的情况下翻转 spatstat 中的绘图坐标?

【问题讨论】:

    标签: spatstat


    【解决方案1】:

    这是plot.ppp 中的一个错误。我已经在spatstat的当前开发版本中修复了它,版本1.46-1.010可从the spatstat repository on GitHub获得

    在 CRAN (1.46-1) 上的当前版本的 spatstat 中,windows 的绘图方法 plot.owin 可以根据需要识别 xlim, ylim,而 plot.ppp 不能。所以如果X是一个点模式,你可以这样做

    W <- Window(X)
    plot(W, xlim=rev(W$xrange), main="The title")
    plot(X, add=TRUE, ...)
    

    【讨论】:

    • 太棒了。感谢您的快速修复和回复!
    • 只是窗口版本中的一个小错字,用于翻转 y 坐标:plot(W, ylim=rev(W$yrange), main="The title")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多