前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“疫”外求职 | Treemap绘制COVID-19阵列图

“疫”外求职 | Treemap绘制COVID-19阵列图

作者头像
黑妹的小屋
发布2020-08-06 14:58:45
6660
发布2020-08-06 14:58:45
举报
文章被收录于专栏:菜鸟学数据分析之R语言

HR面:自我介绍

01

Hi,我叫treemap,从事R绘图行业的经验丰富,干过层次结构的空间填充可视化,干过树地图的绘制,干过HCL颜色空间的搭配,干过treecolors对参数的设置,同时,培养了我的徒弟itreemap对树状图形的创建,就是没干过version2.4-2的升级......在2020年的春天,鸟语花香,万物复苏,在这春意盎然的日子,我收获了友谊。我有四个好搭档帮助我决定调色板的映射,他们是参数映射mapping、调色板palette、数值“value”和手动“manual”。“value”和“manual”两者的唯一区别是mapping的默认值。“value”认为调色板是一个发散的调色板(比如ColorBrewer的“RdYlBu”),并将其映射为这样一种方式:0对应中间颜色(通常是白色或黄色),-max(abs(values)对应左端颜色,max(abs(values))对应右端颜色。而“manual”简单地将min(值)映射为左端颜色,max(值)映射为右端颜色,mean(范围(值))映射为中间颜色。 此外,我喜欢看人绘制value type mapping,不喜欢看人To behave in such a way,value type mapping出英雄。喜欢manual type和custom type mapping ,不喜欢lazy,manual type和custom mapping可创新,其实不喜欢程序出bug,互联网+的社会,谈的都是Big Data,能用代码解决的事情何必用office纠结,好啦,请把身边的RStudio打开,代码运行完成,爱我的请举手!

——treemap

这孩子怕不是疯了吧,脑子想的是啥?我咋听不懂~~

——HR

二面:才艺展示

02

  • 创建数据

dat <- data.frame(letters=letters[1:20], x=1, y=runif(20)*16-4)

  • 绘图实验

value type mapping

library(treemap)

plot.new()

treemap(dat,index="letters",vSize="x",vColor="y",type="value",palette="RdYlBu")

图1

可以看到,中心颜色(Yl)将自动赋值为0,负值赋值为Rd-Yl,正值赋值为Yl- bu。因为min(daty)是-3.5,max(daty)是11.47,所以应用的映射是c(-11.5, 0,11.5)。之所以在图例中只看到-4到12(而不是-12到12),是因为range参数在默认情况下是c(min(values), max(values)),有一些舍入。可以增加rang()进行改变:

图2

manual type mapping

treemap(dat,index="letters",vSize="x",vColor="y",type="value",palette="RdYlBu")

图3

“manual”类型不像“value”类型那样解释这些数值。相反,值范围被线性映射到调色板。在本例中,中间的黄色被赋值为(-3.50 + 11.47)/ 2,即3.99。

custom type mapping

指定mapping参数时,“value”和“manual”treemap类型是相同的。假设我们把-5赋值给红色,5赋值给黄色,15赋值给蓝色:

图4

几乎所有的值和图例,都映射到调色板的左侧,也就是在红色和黄色之间,少量数据在黄色和蓝色之间,要查看图例中的完整映射,使用“range”参数。

图5

终面-项目考核

03

一切劳动,是人类劳动力在有一定目的形式上的耗费,有用的劳动生产使用价值,为了体现核心竞争力,处理了一波全球nCov2019疫情数据,期待升级版的自己。

library(nCov2019)

data<-load_nCov2019(lang = "en")

World<-data["global"]

today<-subset(World,time=="2020-04-17")

......

疫情数据的获取查看往期文章“疫”外收获-nCov2019全球疫情之南丁格尔玫瑰图,为了减少数据量,提取2020-04-17累计确诊量前19的国家。用readxl()函数读取保存的全球疫情数据:

treemap(Data,title = "COVID-19",

index = "country",

vSize = "cum_confirm",

vColor = "cum_dead",

type = "index",

aspRatio=3,

palette="RdYlGn",

inflate.labels = T)

图6

基础知识:

library(treemap)加载treemap

treemap( ):调用树状图绘制函数

Data:是nCov2019-2020-04-17的global数据按照确诊人数降序排列前19名的数据集。

title:标题

index:以Date数据的列名,作为分类的目标

vSize:指定矩阵的大小,以Data数据集中的列cum_confirm,累计确诊人数进行赋值。

vColor:确定矩形的颜色,以Data数据集中的列cum_dead,累计死亡人数进行赋值。

type:矩形颜色方案,此处选择的index,此外还有comp、depth等。

aspRatio:是指主矩形的宽度/高度的比值。

palette:调色板,采用##RRGGBB的格式选取配色, 颜色的不同代表数据的不同,包括HCL、RColorBrewer调色板。

inflate.labels:确定数据标签在矩形内是否膨胀的逻辑,如果是真的,标签不再决定字体大小,但仍决定字体的最小值,T表示TRUE。

需要以上代码运行过程中产生的数据请后台回复treemap。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜鸟学数据分析之R语言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档