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

树图(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,也就是值类型

代码实现:

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图就搞定啦!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏素质云笔记

R+中文︱中文文本处理杂货柜——chinese.misc

Package: chinese.misc Version: 0.1.3 Date: 2017-03-12 Authors:Wu Jiang (吴江)...

636100
来自专栏锦小年的博客

2. R语言中各种数据类型常见运算的函数

1. 向量运算常用函数表 ? 2. 矩阵运算常用函数表 ? 函数 用途 colSums() 列求和 colMeans() 列求均值 row...

20370
来自专栏王小雷

R语言基础命令与安装

1. R的安装过程 1.1.首先附上清华线路的下载链接Windows版3.3.1 1.2. 选择安装路径 ? 1.3. 注意根据自己的计算机位数选择,如我的是6...

26050
来自专栏素质云笔记

R+大地图时代︱ leaflet/leafletCN 动态、交互式绘制地图(遍地代码图)

好久没有学习R的新包了,甚是想念啊! 昨天、今天看到两个极好、不得不学的packages+早上被AWS的服务器整得郁闷ing…于是就来点颜色看看~ ...

1.1K110
来自专栏大数据风控

疑难杂症-R中的Rwordseg包安装

一、通过install.packages安装 步骤: 1、在R中先装rJava包 install.packages(“rJava”) 2、没有装JD...

25980
来自专栏大数据风控

R中的线性回归分析

回归分析(regression analysis) 回归分析是研究自变量与因变量之间关系形式的分析方法,它主要是通过建立因变量Y与影响它的自变量Xi(i=1,2...

217100
来自专栏企鹅号快讯

R语言实战:评分与销量有相关性吗?

作者:韩琦儿算法工程师,R语言中文社区专栏作者。知乎专栏:https://www.zhihu.com/people/han-qi-er-11/posts 前言 ...

231100
来自专栏大数据风控

R中五种常用的统计分析方法

1、分组分析aggregation 根据分组字段,将分析对象划分为不同的部分,以进行对比分析各组之间差异性的一种分析方法。 常用统计指标: 计数 length ...

59270
来自专栏人工智能

用R语言实现深度学习情感分析

18岁虽然没有成为TF-boys,但是2018新的一年可以成为TF(Tensorflow-boys)啊~~ word embeddings介绍 之前建立的情感分...

26980
来自专栏锦小年的博客

3. R语言随机数生成

1. 均匀分布 函数: runif(n, min=0, max=1),n 表示生成的随机数数量,min 表示均匀分布的下限,max 表示均匀分布的上限,若省略参...

461100

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励