美文网首页R
R-绘制打包图-Circle Pack

R-绘制打包图-Circle Pack

作者: ZeroDesigner | 来源:发表于2019-07-14 16:12 被阅读2次
打包图:

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


图片1.png
#安装相关工具和包
#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
#结束教程
成品图

相关文章

  • R-绘制打包图-Circle Pack

    打包图: Circle Packing或圆形树形图可以对数据进行可视化分层。 它相当于树形图,其中树的每个节点表示...

  • 自定义控件之太极图

    绘制这个图主要是为了练习Rect和Circle,代码使用kotlin语言写的,先上成果图 直接记录步骤,首先绘制左...

  • 如何快速绘制 Circle图

    Hello!大家好,今天给大家分享一款做Circle图的软件。之前已经在微信公众号:杨博士聊生信中分享过,再次拿出...

  • 上手OpenCV_GUI-L03-绘图

    目标 学习使用OpenCV绘制几何图型。 学习的函数:cv.line(), cv.circle(), cv.rec...

  • SVG

    SVG 绘制长方形绘制圆形绘制椭圆 绘制直线 绘制折线 绘制多边形 ...

  • 必背短语十六

    P a pack of 一包 / 一盒 pack up 把……打包;收拾(行李) a package of 一包 ...

  • App 的编译和打包流程

    APK 的编译打包流程 打包所需要工具: 。 1.打包资源文件 AAPT,全称Android Asset Pack...

  • 使用 electron-builder 和 electron-p

    打包方式 Eelectron 目前有两种打包工具 electron-builder 和 electron-pack...

  • Python 二级基础编程题

    1、画一个太极图太极图import turtleturtle.circle(100)turtle.circle(5...

  • weex-eros 打包踩坑全记录

    操作: eros pack --android 打包层安卓文件 eros build 把打包后的项目弄到安卓...

网友评论

    本文标题:R-绘制打包图-Circle Pack

    本文链接:https://www.haomeiwen.com/subject/pizbkctx.html