更多相关数据和代码链接微信索取,下面有二维码
首先我们要整理数据和安装必须包,这里数据来源于维基。做图重要的一点不是执着于各类参数,首先应该明白这种图要求的数据格式是什么样,是怎么摆放数据的。
- library(circlize)
- library(waffle)
- mat<-matrix(c(1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4),nrow=4,ncol=85,byrow=TRUE)
- colnames(mat)<-c('斐语','加泰罗尼亚语','丹麦语','荷兰语','法语','加利西亚语','意大利语','挪威语',
- '葡萄牙语','罗马尼亚语','西班牙','瑞典语','德语','印尼语','爪哇语',
- '牙买加语','马来语','斯瓦希里语','阿尔巴尼亚语','阿姆哈拉语','亚美尼亚语','阿塞拜疆语','白俄罗斯语',
- '孟加拉语','波斯尼亚语','保加利亚语','缅甸语','宿务语','克罗地亚语','捷克语','宗喀语','爱沙尼亚语','芬兰语',
- '格鲁吉亚语','希腊语','古吉拉特语','希伯来语','印地语','匈牙利语','冰岛语','伊洛果语','爱尔兰语','埃纳德语','哈萨克语',
- '库尔德语','吉尔吉斯语','高棉语','老挝语','拉脱维亚语','立陶宛语','马其顿语','马拉地语','蒙语','尼泊尔语','普什图语','波斯语',
- '波兰语','旁遮普语','俄语','赛尔维亚语','僧加罗语','斯洛伐克','斯洛维尼亚语','索马里语','菲律宾语','泰米尔语','巴利语','泰卢固语','德顿语','泰语','土耳其语',
- '土库曼语','乌克兰语','乌尔都语','乌兹别克语','越南语','科萨语','祖鲁语','阿拉伯语','粤语','日语','韩语','普通话','台语','吴语')
- rownames(mat)<-c('575-600 小时','750-900 小时','1100 小时','2200 小时+')
- 数据摆放好以后我就可以做图了。
- matp2<-prop.table(mat,margin=2)
- ##绘制弦状图
- chordDiagram(matp2,annotationTrack="grid",preAllocateTracks=list(track.height = 0.3))
- ##更改坐标轴
- 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], sector.name,facing="clockwise",
- niceFacing=TRUE,adj=c(0,0.5))},bg.border=NA)
我们的弦状图就绘制好了,下面我们需要绘制华夫格图,首先先设定自己常用的颜色,有几个分类就要设置几种颜色,当然你也可以使用默认色
- cols <-c(rgb(red =0, green =137, blue =130, max =255),
- rgb(red =236, green =161, blue =136, max =255),
- rgb(red =109, green =187, blue =191, max =255),
- rgb(red =196, green =189, blue =151, max =255),
- rgb(red =127, green =127, blue =127, max =255),
- rgb(red =250, green =192, blue =144, max =255))
- languages<-c('汉语 (大约 1,190,000,000 人)'=17,'西班牙语 (大约 420,000,000 人)'=6,'英语 (大约 350,000,000 人)'=5,'印地语 (大约 280,000,000 人)'=4,'阿拉伯语 (大约 210,000,000 人)'=3,'其他语言 (大约 4,550,000,000 人)'=65)
下面我们需要绘图了,先将要绘制的分类赋值,然后直接绘图即可
- waffle(languages,rows=8,size=4,colors=cols,xlab='') +
- ggtitle("")
相关数据与代码链接:http://pan.baidu.com/s/1c0AnhW8 密码:微信索取
关于我们,关注理性与文艺,用数据创作内容性的精致阅读,这里是数据分析挖掘人员与文艺青年的集结地,不做培训,不做鼓吹,只踏踏实实的做一个又一个数据驱动的文章,并设计机器人减轻数据分析的负担,无论你感兴趣还是想参与都可以关注,请加微信公众号


雷达卡








京公网安备 11010802022788号







