我有一个类型的两个对象大SpatialPointsDataFrame名为ST2和ST10.它们来自同一个来源.他们都没有问题:
plot(st2)
Run Code Online (Sandbox Code Playgroud)
要么
plot(st10)
Run Code Online (Sandbox Code Playgroud)
但我想用ggmap和ggplot绘制它们.我可以使用这样的简单代码为st2执行此操作:
map <- get_map(location = 'Pozna?', zoom = 12)
ggmap(map) + geom_point(aes(x =st2@coords[,1], y = st2@coords[,2]))
Run Code Online (Sandbox Code Playgroud)
但是当谈到st10时,我收到一个错误:
Error in data.frame(x = c(16.910848618, 16.910863876, 16.910913467, 16.910936356, :
arguments imply differing number of rows: 53885, 4
Run Code Online (Sandbox Code Playgroud)
我用length()检查值:
> length(st10@coords[,1])
[1] 53885
> length(st10@coords[,2])
[1] 53885
Run Code Online (Sandbox Code Playgroud)
我用摘要()检查它们
> summary(st10@coords[,1])
Min. 1st Qu. Median Mean 3rd Qu. Max.
16.84 16.88 16.91 16.91 16.91 16.99
> summary(st10@coords[,2])
Min. 1st Qu. Median Mean 3rd Qu. Max.
52.35 52.41 52.46 52.44 52.46 52.46
Run Code Online (Sandbox Code Playgroud)
怎么了?我有超过20个SP数据帧和一些其他情节给出了上面提到的错误...这与点数无关
有什么不对?或者也许有人可以给我一些提示如何调试这个?
我通过制作一个新的数据框解决了这个问题。
tlData=data.frame(x=c(0,100000),y=c(0,1000000)
ggplot(otherdf,aes(x=X,y=Y)+geom_point(alpha=0.1)+geom_line(data=tlData,aes(x=x,y=y),color='red')
Run Code Online (Sandbox Code Playgroud)
看来 ggplot 不再喜欢无数据的几何组件,因为我使用的先前版本完全可以使用 aes(x=c(0,100000),y=c(0,100000)。
| 归档时间: |
|
| 查看次数: |
11598 次 |
| 最近记录: |