dax*_*x90 4 plot r geospatial ggplot2
我试图在空间上绘制连续变量.我看到这个例子得到了我需要的相同结果:
library("MASS")
library("ggplot2")
library(reshape2)
DB<-melt(volcano)
ggplot(DB, aes(x=Var1, y=Var2, fill=value)) +geom_tile()
Run Code Online (Sandbox Code Playgroud)

所以我做了我的数据:
library(repmis)
url<-"https://www.dropbox.com/s/4m5qk32wjgrjq40/dato.RDATA"
source_data(url)
library(ggplot2)
ggplot(dato,aes(y=variable,x=y,fill=value))+geom_tile()
Run Code Online (Sandbox Code Playgroud)

那好极了.但我的"x"和"y"是距离空间点的公里距离(东和北).我在纬度和经度上改变了这些.但现在我的情节不起作用!
ggplot(dato,aes(y=lat,x=long,fill=value))+geom_tile()
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.无论如何绘制我的数据像点,结果非常相似:
ggplot(dato,aes(y=lat,x=long,fill=value))+geom_point()
ggplot(dato,aes(y=variable,x=y,fill=value))+geom_point()
Run Code Online (Sandbox Code Playgroud)
hrb*_*str 13
您可以作弊并使用geom_point方形:
#devtools::install_github("sjmgarnier/viridis")
library(viridis)
library(ggplot2)
library(ggthemes)
library(scales)
library(grid)
gg <- ggplot(dato)
gg <- gg + geom_point(aes(x=long, y=lat, color=value), shape=15, size=5)
gg <- gg + coord_equal()
gg <- gg + scale_color_viridis(na.value="#FFFFFF00")
gg <- gg + theme_map()
gg <- gg + theme(legend.position="right")
gg
Run Code Online (Sandbox Code Playgroud)

我没有投射lat/long对并且刚刚使用过coord_equal.您应该对正在映射的区域使用正确的投影.
而且,现在你让我好奇米兰周围的热门景点:-)
gmap <- get_map(location=c(9.051062, 45.38804, 9.277473, 45.53438),
source="stamen", maptype="toner", crop=TRUE)
gg <- ggmap(gmap)
gg <- gg + geom_point(data=dato, aes(x=long, y=lat, color=value), shape=15, size=5, alpha=0.25)
gg <- gg + coord_map()
gg <- gg + scale_color_viridis(na.value="#FFFFFF00")
gg <- gg + theme_map()
gg <- gg + theme(legend.position="right")
gg
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1991 次 |
| 最近记录: |