コードダイアグラムで航空路線を描く

前回と同じ国内の航空路線の旅客輸送数上位50路線について、コードダイアグラムを用いた可視化の例。

コードダイアグラムでは頂点間の関係の量を弦(chord)の太さで表し、頂点のもつ関係の量の総量を弧の長さで表す。

下の例では国内旅客輸送において羽田の占める大きさと、国内各空港の関係が分かる。

library(circlize)
library(RColorBrewer)
airports <- read.csv("http://www.geocities.jp/snatool/sampledata/airport.csv", header = TRUE, fileEncoding = "cp932")
flights <- read.csv("http://www.geocities.jp/snatool/sampledata/top50.csv", header = TRUE, fileEncoding = "cp932")
my.palette <- rep(c(brewer.pal(8, "Set2"), brewer.pal(9, "Set1")), 2)
chordDiagram(flights, order = as.character(airports$airport),
grid.col = my.palette, transparency = 0.6,

annotationTrack = "grid", preAllocateTracks = 1)
circos.trackPlotRegion(track.index = 1,

 panel.fun = function(x, y) {
  xlim = get.cell.meta.data("xlim")
  ylim = get.cell.meta.data("ylim")
  sector.name = get.cell.meta.data("sector.index")
  circos.text(mean(xlim), ylim[1] + .1, sector.name,
   facing = "clockwise", niceFacing = TRUE, adj = c(0, 0.5),
   cex = 0.7)
}, bg.border = NA)
イメージ 1
2016/11/7 文字コードに関する修正