Rev. | 4bd45d894f4d6c283d8d4b4bca4ea3d75d97c81a |
---|---|
大小 | 4,198 字节 |
时间 | 2017-03-20 05:42:28 |
作者 | Lorenzo Isella |
Log Message | A code to plot a world map plus a network on top. |
rm(list=ls())
library(igraph)
library(raster)
library(mapproj)
library(maps)
library(OpenStreetMap)
library(rgdal)
library(RColorBrewer)
library(rworldmap)
source("/home/lorenzo/myprojects-hg/R-codes/stat_lib.R")
g<-readRDS("network_data.RDS")
country_coord <- read.csv("country-capitals_revised.csv")
countries <- names(V(g))
country_coord$country <- as.character(country_coord$country)
country_coord$country[country_coord$country=="GB"] <- "UK"
country_coord$country[country_coord$country=="GR"] <- "EL"
country_coord <- country_coord[country_coord$country %in% countries, ]
mm<-match(countries, country_coord$country)
country_coord <- country_coord[mm, ]
## extra_countries <- countries %!in% country_coord$country
## countries[extra_countries]
## l <- layout.fruchterman.reingold(g)
## l <- layout.norm(l, -1,1, -1,1)
l <- cbind(country_coord$longitude,country_coord$latitude )
## l <- layout.norm(l, -1,1, -1,1)
## vlist <- V(g)$name
## node_strength_list_incoming <- rep(-200, length(vlist))
## node_strength_net <- rep(-200, length(vlist))
## for (i in seq(length(vlist))){
## vertex <- vlist[i]
## incoming <- sum(tab[ ,2]==vertex)
## outcoming <- sum(tab[ ,1]==vertex)
## node_strength_list_incoming[i] <- incoming ## - outcoming
## node_strength_net[i] <- incoming - outcoming
## }
## vsize <- log(abs(node_strength_list_incoming+2))
pdf("mc-network_new.pdf")
plot(g, layout=l,
vertex.label.dist=0.5, vertex.color=V(g)$color,
vertex.frame.color= V(g)$color,
, edge.color="#55555533",## vertex.label=NA,
vertex.size= 1,
edge.arrow.size=rep(0.3, ecount(g))
)
dev.off()
## map <- openmap(c(70,-179), c(-70,179))
map <- openmap(c(70,-179), c(-70,179),type= "stamen-toner"
)
map_longlat <- openproj(map, projection = "+proj=longlat")
pdf("map.pdf")
plot(map_longlat,raster=TRUE)
dev.off()
pdf("mc-network_new2.pdf")
plot(map_longlat,raster=TRUE)
## map("world",col="red",add=TRUE)
plot(g, layout=l, add = TRUE, rescale = FALSE,
vertex.label.dist=0.5, vertex.color=V(g)$color,
vertex.frame.color= V(g)$color,
## ,edge.color="#55555533",
edge.color="darkgreen", edge.width=0.2,
vertex.label=NA,
vertex.size= 2,
edge.arrow.size=rep(.1, ecount(g))
)
dev.off()
map <- openmap(c(70,-179), c(-70,179),type= "osm"
)
map_longlat <- openproj(map, projection = "+proj=longlat")
V(g)$label.cex <- rep(0.25, vcount(g))
pdf("mc-network_new3.pdf")
plot(map_longlat,raster=T)
## map("world",col="red",add=TRUE)
plot(g, layout=l, add = TRUE, rescale = FALSE,
vertex.label.dist=0.5, vertex.color=V(g)$color,
vertex.frame.color= V(g)$color,
,edge.color= "#55555533"## adjustcolor("black", alpha.f = .1)
,edge.curved=T,
edge.width=0.5,edge.arrow.size=.2,edge.arrow.width=.2,
vertex.label=names(V(g)),
vertex.size= 2,
edge.arrow.size=rep(.1, ecount(g))
)
dev.off()
cols <- brewer.pal(4, "Greens")
pdf("mc-network_new4.pdf")
## map(database= "world", ylim=c(-70,70), xlim=c(-179,179), col="grey80",
## fill=TRUE, ## projection="gilbert",
## orientation= c(90,0,225))
map("world", resolution=0, col= "grey100"
, fill=T,myborder = 0, lwd=0.2 )
plot(g, layout=l, add = TRUE, rescale = FALSE,
vertex.label.dist=0.5, vertex.color=V(g)$color,
vertex.frame.color= V(g)$color,
,edge.color= ## "#55555533"
adjustcolor("black", alpha.f = .1)
,edge.curved=T,
edge.width=0.5,edge.arrow.size=.2,edge.arrow.width=.2,
vertex.label=names(V(g)),
vertex.size= 2,
edge.arrow.size=rep(.1, ecount(g))
)
dev.off()
newmap <- getMap(resolution = "low")
pdf("mc-network_new5.pdf")
plot(newmap)
plot(g, layout=l, add = TRUE, rescale = FALSE,
vertex.label.dist=0.5, vertex.color=V(g)$color,
vertex.frame.color= V(g)$color,
,edge.color= "#55555533"## adjustcolor("black", alpha.f = .1)
,edge.curved=T,
edge.width=0.5,edge.arrow.size=.2,edge.arrow.width=.2,
vertex.label=names(V(g)),
vertex.size= 2,
edge.arrow.size=rep(.1, ecount(g))
)
dev.off()
print("So far so good")