コードダイアグラムで航空路線を描く
前回と同じ国内の航空路線の旅客輸送数上位50路線について、コードダイアグラムを用いた可視化の例。
コードダイアグラムでは頂点間の関係の量を弦(chord)の太さで表し、頂点のもつ関係の量の総量を弧の長さで表す。
下の例では国内旅客輸送において羽田の占める大きさと、国内各空港の関係が分かる。
コードダイアグラムでは頂点間の関係の量を弦(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)
2016/11/7 文字コードに関する修正