打包图:
Circle Packing或圆形树形图可以对数据进行可视化分层。 它相当于树形图,其中树的每个节点表示为圆形,其子节点表示为圆形内部的圆形。 每个圆的大小可以与特定值成比例,这样可以更深入地了解数据。

#安装相关工具和包
#circlepackeR的安装比较麻烦就写的详细一点
install.packages("devtools")
library(devtools)
install_github("jeromefroe/circlepackeR")
library(tidyverse)
library(hrbrthemes)
# 从github上导入数据集
data <- read.table("https://raw.githubusercontent.com/holtzy/data_to_viz/master/Example_dataset/11_SevCatOneNumNestedOneObsPerGroup.csv", header=T, sep=";")
data[ which(data$value==-1),"value"] <- 1
colnames(data) <- c("Continent", "Region", "Country", "Pop")
# 去除一些问题行
data <- data %>% filter(Continent!="") %>% droplevels()
# 使用data.tree修改数据格式
library(data.tree)
data$pathString <- paste("world", data$Continent, data$Region, data$Country, sep = "/")
population <- as.Node(data)
# 自定义颜色范围
circlepackeR(population, size = "Pop", color_min = "hsl(56,80%,80%)", color_max = "hsl(341,30%,40%)")
#这时候已经出图了,但是有必要看下数据格式
#这是成图时候的数据格式
population
levelName
1 world
2 |--Asia
3 | |--Southern Asia
4 | | |--Afghanistan
5 | | |--Bangladesh
6 | | |--Bhutan
7 | | |--India
8 | | |--Iran
9 | | |--Maldives
10 | | |--Nepal
11 | | |--Pakistan
12 | | °--Sri Lanka
13 | |--Western Asia
14 | | |--Armenia
15 | | |--Azerbaijan
16 | | |--Bahrain
17 | | |--Cyprus
#这个是最后成图前的一个数据格式,最后一列是data.tree转化过去的。
Continent Region Country Pop pathString
1 Asia Southern Asia Afghanistan 25500100 world/Asia/Southern Asia/Afghanistan
2 Europe Northern Europe 脜land Islands 28502 world/Europe/Northern Europe/脜land Islands
3 Europe Southern Europe Albania 2821977 world/Europe/Southern Europe/Albania
4 Africa Northern Africa Algeria 37900000 world/Africa/Northern Africa/Algeria
5 Oceania Polynesia American Samoa 55519 world/Oceania/Polynesia/American Samoa
6 Europe Southern Europe Andorra 76246 world/Europe/Southern Europe/Andorra
7 Africa Middle Africa Angola 20609294 world/Africa/Middle Africa/Angola
8 Americas Caribbean Anguilla 13452 world/Americas/Caribbean/Anguilla
9 Americas Caribbean Antigua and Barbuda 86295 world/Americas/Caribbean/Antigua and Barbuda
10 Americas South America Argentina 40117096 world/Americas/South America/Argentina
#成图前的原始数据格式
region subregion key value
1 Asia Southern Asia Afghanistan 25500100
2 Europe Northern Europe 脜land Islands 28502
3 Europe Southern Europe Albania 2821977
4 Africa Northern Africa Algeria 37900000
5 Oceania Polynesia American Samoa 55519
6 Europe Southern Europe Andorra 76246
7 Africa Middle Africa Angola 20609294
8 Americas Caribbean Anguilla 13452
9 Antarctica -1
10 Americas Caribbean Antigua and Barbuda 86295
#结束教程

网友评论