前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在R中绘制树图(TreeMap)

如何在R中绘制树图(TreeMap)

作者头像
Erin
发布2018-01-09 11:02:33
5.1K0
发布2018-01-09 11:02:33
举报
文章被收录于专栏:大数据风控

树图(TreeMap) 通过矩形面积的大小,以及填充颜色的深浅,来显示节点的统计数据,通过嵌套层次来显示分组的层级的可视化图形。 for example: 某公司产品在世界六大洲的销售情况,矩形的大小表示人口的数量,颜色的深浅表示销售额的多少。

这里写图片描述
这里写图片描述

那么如何绘制树图呢? 首先绘制树图需要的包: install.packages(“treemap”) 树图函数: treemap(x,index,vSize,vColor,palette,range,border.col,type=”value”) x 数据框 index 进行分组的列 vSize 指定面积大小的列 vColor 指定颜色深浅的列 palette 颜色的范围向量 range 设置颜色的范围值,设置palette后,需要设置该值 border.col 设置边框的颜色值 type 设置统计数据的大小的类型,一般选择value,也就是值类型

代码实现:

代码语言:javascript
复制
install.packages("treemap", repos='http://cran.r-project.org')
library(treemap)

data <- read.csv('data.csv', stringsAsFactors=FALSE);

treemap(
  data,
  index=c("continent"),
  vSize="population",
  vColor="sales",
  type="value"
)

agg <- aggregate(sales~continent, data=data, FUN=sum)
mSales <- max(agg$sales)
treemap(
  data,
  index=c("continent"),
  vSize="population",
  vColor="sales",
  type="value",
  border.col='#63B8FF',
  palette=c("#FFFFFF", "#1C86EE"),
  range=c(-mSales, mSales)
)

agg <- aggregate(sales~continent+country, data=data, FUN=sum)
maxSales <- max(agg$sales)
minSales <- min(agg$sales)
treemap(
  data,
  index=c("continent", 'country'),
  vSize="population",
  vColor="sales",
  type="manual",
  border.col='#63B8FF',
  palette=c("#FFFFFF00", "#1C86EE00"),
  range=c(minSales, maxSales)
)

一副完美的tree图就搞定啦!

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年07月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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