stat_countour()无法生成带有六位十进制数据的轮廓线

时间:2014-11-08 06:49:46

标签: r ggplot2 contour

我正在尝试用ggplot2进行一次计算。但是,我一直收到“无法生成轮廓数据”的错误消息。

为df创建数据的子集。

x<-c(2.906633,28.056680,53.206720,78.356780,103.506900,128.656900)
y<-c(15.70863,15.72898,15.74938,15.76976,15.79016,15.81058)
z<-c(142.2,148.9,135.6,144.0,142.2,136.0)
df<-data.frame(x,y,z)

ggplot(df, aes(x, y, z = z))+stat_contour()

然而,我正准备用示例图得到轮廓图。 volcano3d数据的差异是整数,而df数据是数字。

library(reshape2) # for melt
volcano3d <- melt(volcano)
names(volcano3d) <- c("x", "y", "z")

# Basic plot
v <- ggplot(volcano3d, aes(x, y, z = z))
v + stat_contour()

之前已经问过类似的问题,并用网格解决了。我的实际表是来自read.csv()的data.frame,x,y坐标来自+/- 150半径内的70个测量点。如何使用这种类型的data.frame创建网格?

使用akima包中的interp函数查找答案:Is it possible to create a 3d contour plot without continuous data in R?

x <- ww5$x
y <- ww5$y
z <- ww5$CD

require(akima)

ww_map <- interp(x,y,z)

par(mar=c(5,5,1,1))
filled.contour(ww_map)

现在剩下的问题是如何将x,y刻度设置为+/- 150?是否可以在半径为150的圆周周围生成一个圆?

0 个答案:

没有答案