I made a map using the standard projection. I guess it is "mercator". Here is the code,
p=ggplot(output)
p=p+geom_tile(aes(x=lon,y=lat,fill=dcm))
p=p+scale_fill_gradientn("Depth of DCM (m)",colours=rgb(rgb[1:100,1],rgb[1:100,2],rgb[1:100,3]),
limits=c(15,200),labels=c(25,50,75,100,125,150,175,200),breaks=c(25,50,75,100,125,150,175,200))
p = p+guides(fill = guide_colorbar(barwidth = 0.5, barheight = 9))
p=p+layer(data=coastline.world,geom="polygon",mapping=aes(x=longitude,y=latitude))
p=p+theme(text=element_text(family="Times",size=9))
p=p+theme(legend.title = element_text(face = 'plain'))
p=p+guides(colour = guide_legend(title.hjust = 0.5))
When I try to change the projection to "mollweide"
using
p=p+coord_map("moll")
the program starts to run but never stops.
Do you have any ideas?
Thanks Alex
the data.frame coastline.world comes from
library(oce)
data(coastlineWorld)
coastline.world=data.frame(longitude=coastlineWorld[["longitude"]],latitude=coastlineWorld[["latitude"]])
first lines of output:
structure(list(lon = c(-180, -179.5, -179, -178.5, -178, -177.5
), lat = c(-59.5, -59.5, -59.5, -59.5, -59.5, -59.5), dcm = c(NA,
41.4461206739867, 45.6921865291417, 48.135154847963, 48.4013604947836,
46.9140989480546)), .Names = c("lon", "lat", "dcm"), row.names = c(NA,
6L), class = "data.frame")
It might just be that the data size is too large.
coastline.world
had over 400K rows. I also changed yourlayer
which hadgeom_polygon
togeom_points
.So I tried some uniform sampling (Pick say every 100th row, taking 1% of the total data).
Now when I tried
And then the
coord_map
, rendered okay.This is what I got:
You might have to tinker with the colors to get what you intend.
Hope that helps you move forward.