R ggplot2 combining geom_tile and coord_map ("moll")

I made a map using standard projection. This is probably a "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, but never stops.

Do you have any ideas?

Thanks Alex

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") 
+2
source share
1 answer

The data size may be too large. coastline.world has over 400 thousand lines. I also changed your layer , which geom_polygon geom_points .

So, I tried some unified sampling (Pick say every 100th row, taking 1% of all the data).

  newcw <- coastline.world[seq(1, nrow(coastline.world), by = 100),] 

Now that i have tried

  p <- p+layer(data=newcw,geom="point",mapping=aes(x=longitude,y=latitude)) p <- p+geom_point(data=newcw, mapping=aes(x=longitude,y=latitude)) 

And then coord_map done in order.

  p <- p+coord_map("moll") 

Here is what I got:

enter image description here

You may need to paint with flowers to get what you intend.

Hope this helps you move forward.

0
source

Source: https://habr.com/ru/post/1266189/


All Articles