• R/O
  • SSH

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

File Info

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.

Content

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")