专栏名称: 表哥有话讲
国内最大的R语言专业学习平台| R官方认证学习实践社区--校企实践交流、名企内推和成果分享,立即关注-掌握R语言全球最新资讯与成果!
目录
相关文章推荐
LADYMAX  ·  ​深度 | 爱马仕筑高天花板 ·  昨天  
今日闵行  ·  花开和笑脸,有奖征集! ·  昨天  
51好读  ›  专栏  ›  表哥有话讲

快来给这个图表起个名字吧~

表哥有话讲  · 公众号  ·  · 2017-10-30 11:50

正文

杜雨 ,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化。个人公众号:数据小魔方(微信ID:datamofang) ,“数据小魔方”创始人。


今天又是一个超级有趣的经济学人图表,名字真不好叫,先把代码撸完,你们爱叫啥叫啥吧~

首先大致分析一下该图表,全是矩形块 ,而且错位排列,柱形图,NO,条形图,NO,因为横纵位置都是错开的。

好像骂一句MMP,这图Economics到底是用撒做的,太无聊了。

不过呢,如果是用ggplot2的话,这图确实难不倒我,思路如下。

用geom_rect图层,还记得之前做过的那个方块面积图嘛,思路如出一辙,我们仅需获取所有矩形块四个角所在位置的点坐标即可。

#构造原始数据
mydata30
,8,6,7,14,11,22,3), SouthKorea=c(15,6,3,5,16,14,19,22) )

根据以上数据标签构造作图数据。

#China组的矩形数据:
start_xmin15
,by=10,length=8) end_xmax45,by=10,length=8) start_ymin0,mydata[1:7,"China"])) end_ymax"China"])

以上构造了左侧那组矩形的所有边角坐标点,接下来计算矩形中心 坐标点:

mynewdata15mynewdata$label_y2

构造右侧矩形系列边角坐标点:

start_xmin115,by=10,length=8)
end_xmax145,by=10,length=8)
start_ymin0,mydata[1:7,"SouthKorea"]))
end_ymax"SouthKorea"])
#计算中心点位置
data115
data1$label_y2

合并左右侧数据

mynewdata

构造类别标签(图例填色需要)

label=rep(c("Food,beverages & tobacco","Clothing & footwear","Household & services","Health","Transport & communications","Leisure & education","Housing & household fuels","Others"),2)
mynewdata$label1:8],ordered=T)

图形可视化过程

library("ggplot2")
library("grid")
library("showtext")
library("Cairo") font.add("myfont","msyh.ttc") setwd("E:/数据可视化/R/R语言学习笔记/数据可视化/ggplot2/优秀R语言案例")

草图预览:

ggplot(mynewdata)+
geom_rect(aes(xmin=start_xmin, xmax =end_xmax, ymin =start_ymin, ymax =end_ymax,fill=label))

采集色板:

palette"#007990","#68C1C7","#EBEBDF","#6DA091","#AAC4B9","#761618","#249BB3","#848587")

最终图形

CairoPNG(file="matirx_scatter.png"






请到「今天看啥」查看全文