0

我正在尝试使用视网膜中密度细胞的不同密度点制作地形图。的例子volcano3d非常好,它给了我这个想法,所以我想我会根据这个例子来表达我的问题。我的问题是,如果我绘制了带有 x,y 坐标的岛的轮廓,geom_path是否可以仅在路径内构建轮廓图?我试图这样做,但 r 告诉我问题是我的 x 和 y 轴不连续。这是我的数据中的第一个点给你一个例子,x 和 y 是坐标,freq 应该是 z 轴。很抱歉没有放置整个数据,但轮廓有超过 3000 个点,然后我有大约 250 个样本,所以它是一个很长的数据集。

p <- ggplot(data = contour.xy, aes(x = x, y = y)) + 
  geom_path(data = contour.xy, aes(x = x, y = y)) + 
  geom_path(data = opticnerve.xy, aes(x = x, y = y)) + 
  geom_contour(data = counts, aes(x = "x", y = "y", z = "freq")) + 
  coord_equal()

我试图放一张图片,但我是新用户,所以因为反垃圾邮件规定我不能附上图片。

我将非常感谢任何帮助或建议

谢谢大家,圣诞快乐

4

2 回答 2

1

最后在做了一些研究之后发现了一个可以帮助我做我正在寻找的东西的包。它是由 Adrian Baddeley 编写的 spatstat,他非常友好地帮助我完成了部分脚本。基本上它所做的是创建一个形状不规则的窗口,在这种情况下是我的“岛”,然后我需要分析的所有点都落在窗口内。为了创建窗口,我使用以下代码使用 x 向量作为 xp 和 y 向量作为 yp:map <- owin(poly=list(x=xp, y=yp)) plot(map)

然后我可以将所有点创建为点模式(ppp)

非常感谢您的所有帮助,但特别感谢 Adrian Baddeley 的支持

于 2011-12-22T09:25:46.170 回答
0

这是示例(提供可重现的volcano3d问题;代码取自包)。example(direct.labels)directlabels

volcano3d <- melt(volcano)
colnames(volcano3d) <- c("x", "y", "z")

您可以绘制数据的等高线图,在本例中为 Maunga Whau,如下所示:

(p <- ggplot(volcano3d, aes(x, y, z = z)) + 
  geom_contour()
)

您的示例代码也存在问题,它aes采用表达式,而不是字符串。所以你应该有

aes(x = x, y = y, z = freq)

或者

aes_string(x = "x", y = "y", z = "freq")

通常,您不需要显式地为xand指定参数名称y,因此实际上aes(x, y, z = freq)会这样做。

于 2011-12-21T11:22:36.730 回答