| This post was kindly contributed by 数据科学与R语言 - go there to comment and to read the full post. |
在最近卫报的一则文章中,根据从2007到2011年的死刑数据进行了一些可视化工作。特别是根据大赦国际最近公布的一份报告,给出了一份死刑执行情况的气泡地图。形象的说明了当今世界上还有哪些国家在判决与执行死刑。本文则是照猫画虎,以说明R语言中googleVis包和ggplot2包的使用方法。
上图是利用卫报所提供的数据,将2007年到2011年所有判决死刑的数字按国别汇总。由于中国对该数据进行了保密,所以2009年后的数据没法得到。但仅基于前两年的数字,也有八千例左右的死刑判决,远超其它国家,所以可以从图上看到“红色的中国”。越是灰色的区域表示死刑判决越少,而白色的区域则是表示废除了死刑的国家,但俄罗斯应该是个例外,估计是缺乏数据的原因。大致来看,似乎社会经济发达的区域,死刑判决数较少。
下图则是从1991年到2011年间,保留死刑的国家数目和废除死刑国家数目的条形图。蓝色条形表示废除死刑国家数目的多少。很容易从图中看到在未来的趋势。
R代码如下:
data1 <- read.csv('d:/data.csv',T)
names(data1) <- c('country','code','sentenced')
library(googleVis)
g1 <- gvisGeoMap(data1, locationvar='code', numvar='sentenced','country',options=list(region='world',colors='[0xDCDCDC,0xEE2C2C,]' ,dataMode="regions",width=600, height=400))
plot(g1)
# print(g1, 'chart')
data2 <- read.csv('d:/data2.csv',T)
names(data2) <- c('year','executing','abolitionist')
library(reshape)
data2.melt <-melt(data2,measure=c('executing','abolitionist'))
library(ggplot2)
p <- ggplot(data2.melt,aes(x=factor(year),y=value,fill=variable))
p + geom_bar()