快捷搜索:  汽车  科技

r语言如何可视化双坐标图(此图一出谁与争锋)

r语言如何可视化双坐标图(此图一出谁与争锋)chord_data = data.frame(library(networkD3)首先,我们利用R语言networkD3包画弦图,该包要求数据格式为正方形矩阵,行列相等,后期我们讲另一个包,不需要相等的画法。我们都知道,一个城市除了本地的土著,还有外地的各种流入人口,如果只是单纯的把数据罗列,大部分人都是不愿意看的,这时候就需要我们的弦图帮忙了,并且弦图可以交互,利用GIF图,做出动态效果,更容易吸引人。利用各城市人口迁移为例,看看弦图的数据格式。左边第一列是被统计人口的城市,上边第一行是被统计的来源城市,即:北京市的人口有1300万 土著,200万从上海来的......100万从杭州来的,总人口1900万。数据意义搞清楚了,我们开始画图,非常简单,两行代码搞定。

r语言如何可视化双坐标图(此图一出谁与争锋)(1)

Part1、弦图简介

弦图(Chord Diagram),一般是用来表示多个元素之间的联系,弦图分为两个部分:外部的节点和内部的弦。其中节点表示源数据大小,弦表示数据之间的联系,弦的粗细表示数据联系的强弱(或者说权重),下面的图示,棕色表示节点,里面的彩色表示弦。

r语言如何可视化双坐标图(此图一出谁与争锋)(2)

Part2、绘图案例

1、人口迁移

首先,我们利用R语言networkD3包画弦图,该包要求数据格式为正方形矩阵,行列相等,后期我们讲另一个包,不需要相等的画法。

我们都知道,一个城市除了本地的土著,还有外地的各种流入人口,如果只是单纯的把数据罗列,大部分人都是不愿意看的,这时候就需要我们的弦图帮忙了,并且弦图可以交互,利用GIF图,做出动态效果,更容易吸引人。利用各城市人口迁移为例,看看弦图的数据格式。

r语言如何可视化双坐标图(此图一出谁与争锋)(3)

左边第一列是被统计人口的城市,上边第一行是被统计的来源城市,即:北京市的人口有1300万 土著,200万从上海来的......100万从杭州来的,总人口1900万。数据意义搞清楚了,我们开始画图,非常简单,两行代码搞定。

library(networkD3)

chord_data = data.frame(

北京 = c(1300 200 100 200 100)

上海 = c(200 1200 100 300 400)

广州 = c(100 100 800 150 150)

深圳 = c(100 100 150 800 50 )

杭州 = c(100 50 50 20 300 ))

使用#默认颜色 绘图

chordNetwork(hairColourData labelDistance = 70 labels = c('北京' '上海' '广州' '深圳' '杭州'))

r语言如何可视化双坐标图(此图一出谁与争锋)(4)

chordNetwork(chord_data labelDistance = 70 labels = c('北京' '上海' '广州' '深圳' '杭州') colourScale = c("#FF00FF" "#00BFFF" "#008B8B" "#FFA500" '#696969'))

r语言如何可视化双坐标图(此图一出谁与争锋)(5)

34个省一起有交互的时候,如下图(数据太大)

r语言如何可视化双坐标图(此图一出谁与争锋)(6)

2、各大APP用户交叉情况

chord_data = data.frame(

淘宝 = c(2300 200 100 200 100 700)

微信 = c(200 1200 100 300 400 120)

支付宝 = c(100 100 800 150 150 800)

滴滴 = c(100 100 150 800 50 900)

美团 = c(100 50 50 20 300 120)

优酷 = c(100 50 50 20 300 320) )

chordNetwork(chord_data labelDistance = 70 labels = c('淘宝' '微信' '支付宝' '滴滴' '美团' '优酷')

colourScale = c("#4876FF" "#00BFFF" "#008B8B" "#FFA500" '#696969' '#4EEE94') )

r语言如何可视化双坐标图(此图一出谁与争锋)(7)

Part3、看看别人 怎么用

1、全球人口流动

来自维也纳维特根斯坦人口中心和全球人力资本中心的地理研究人员,调查整理了从1990年到2010年的、来自150多个国家的人口流动,弧线与圆有接触的部分为A国流出人口,没有接触的部分为A国流入B国的人口,接触面积的大小则表示了人口的数量多少。

r语言如何可视化双坐标图(此图一出谁与争锋)(8)

链接:https://qz.com/192440/where-everyone-in-the-world-is-migrating-in-one-gorgeous-chart/

2、人狗基因相似对比

为了探索人类基因的保守性,生物学家运用弦图,展示了狗的染色体与人类染色体上最相似的区域。生物学家先给人类染色体标记了颜色,再根据人类染色体,给与之相似的狗染色体标记了相同颜色。

我们很清晰地看到,狗染色体1的大片连续区域(图中右下角的部分)与人染色体6、9、18和19的区域具有高度相似性。

r语言如何可视化双坐标图(此图一出谁与争锋)(9)

链接:http://circos.ca/guide/genomic/

3、NBA休赛期间球员交易

以红蓝两色区分东西部球队,用红色弧线表示西部内的球队交易,用蓝色弧线表示东部内的球队交易,黑色的弧线则表示跨东西部的交易。弧线与圆的接触面积则表示在交易中两支球队交换的队员数量多少。

r语言如何可视化双坐标图(此图一出谁与争锋)(10)

链接:https://www.thepaper.cn/newsDetail_forward_1806505

猜您喜欢: