R-stat_contour()-无法生成等高线数据
我有大约4800个具有噪声级的lat/lon点,我想在其上绘制等高线(例如50dB、55dB等)。您可以在此处查看数据: 当我跑的时候R-stat_contour()-无法生成等高线数据,r,ggplot2,contour,R,Ggplot2,Contour,我有大约4800个具有噪声级的lat/lon点,我想在其上绘制等高线(例如50dB、55dB等)。您可以在此处查看数据: 当我跑的时候 ggplot( data, aes(x =Lat, Lon, z = Value) ) + stat_contour(binwidth = 10) 我收到一封信 Warning message: Not possible to generate contour data 不幸的是,我不知道为什么会发生这种情况。根据这里的其他问题,我尝试了较少的数据
ggplot(
data,
aes(x =Lat, Lon, z = Value)
) + stat_contour(binwidth = 10)
我收到一封信
Warning message:
Not possible to generate contour data
不幸的是,我不知道为什么会发生这种情况。根据这里的其他问题,我尝试了较少的数据,但这并没有产生效果
非常感谢您的任何提示/建议/评论。谢谢
编辑:问题似乎与未构建网格的数据无关。我上传了新的样本数据,形成了一个完美的网格。此数据集显示了与上述问题完全相同的问题。对于Lat和Long的每个可能组合,您的数据文件似乎没有成对的值-相反,每个
Lat
值在data.frame中只出现一次。这同样适用于Lon
varibale:
data[data$Lat == data$Lat[1],]
导致
# X Lat Lon DayNoise
# 1 98 12.69871 52.49891 31.70291
当您对数据进行四舍五入时,它的工作方式如下:
data$Lat可能重复感谢您的建议。我上面的示例数据集来自一个完全均匀分布的网格。不幸的是,我无法计算整个集合,因为这会杀死我的RAM。但是我从我的原始数据集中创建了一小部分,这显示了ggplot在完全均匀分布的情况下同样存在的问题。尽管如此,还是要感谢赫巴曼!嗯,你说得对,我误解了一些东西。看我更新的anwser。看起来,我的“网格”有点凸。我想这与我的模拟软件中使用的地图投影有关。考虑到这一点,我能够画出一个等高线。谢谢你的建议,这为我指明了正确的方向!
data$Lat <- round(data$Lat,digits = 3)
data$Lon <- round(data$Lon,digits = 3)
ggplot(data, aes(x=Lat, y=Lon, z=Value)) +
stat_contour(binwidth=10)