如何画好看的弦图(附R语言画弦图方法)

1 .什么时候用弦图

弦图主要是来表示两两之间数量关系的。例如, A地 => B地 之间的人口流动量。

又如,每个销售员在不同地区的销售金额。又如,每个年龄组不同收入组别的月均购物金额。

只要有三列数值,第一列是文本,第二列也是文本,第三列是数值,第三列表示的第一列与第二列关系的强度,都可以用弦图来表示。

第一列和第二列可以是同一类(如都是地名),第二列和第二列可以是不同类。前者更适合弦图的本意。后者是弦图的扩展,也就是说,各种交叉列表也可以用弦图表示,但这样做需要慎重,这样作图虽然酷炫,但是看图的人理解可能会出现困难。

人口流动弦图:第一列是地名,第二列也是地名,第三列是数值

每个销售员X不同地区的销售金额图:第一列是销售员名称,第二列是区域名称,第三列是每个销售员在这个地区的销售金额

年龄X收入的月购物金额:第一列是不同年龄组,第二列是不同收入组,第三列是每个年龄组不同收入情况下的月均购物金额

二 怎么实现弦图

1.对于不写代码的人

推荐图表秀https://www.tubiaoxiu.com/,把数据按照要求整理好上传可以。

(弦图在关系图类别中,觉得配色不满意可以重新选择配色)

使用图表秀的过程很方便理解弦图的数据结构。

弦图就是使用两种数据结构,一种是三列,一种就是对角矩阵。

*图表秀可以很方便理解数据结构和作图的过程,并且插入PPT等文档。但是图表秀下载图片需要会员充值,所以你需要AI或者打印出来的高清图,就很难用图表秀表示。

2.对于写代码的人

用R语言,D3都可以实现这种效果。这里用R语言为例来说明。

用R语言画弦图主要依靠这个circlize包。

需要弄清楚circlize对弦图几个部分的界定。

sector,就是边上一圈,每一圈代表第一列的一个名称;link,连线。

R语言实现代码如下:

library(circlize)#载入包

migration <- read.csv("cityz.csv",header=TRUE,stringsAsFactors = FALSE)#载入整理好的数据矩阵,可以是三列,可以是对角矩阵,这里载入的是

sectorc <- read.csv("sectorc.csv",header=FALSE,stringsAsFactors = FALSE)

sectorc <- as.vector(sectorc$V1)

这里的csv文件是这样的

#载入 sector的颜色。必须是一个向量。按照第一列名称出现的顺序对应配颜色。用十六进制的颜色编码来表示(如#EC882)。这里载入的sector颜色如下,对应的第一列出现的sector顺序,是佛山,深圳,东莞,香港,广州。在R语言里转化为1个向量

linkc <- read.csv("linkc.csv",header=FALSE,stringsAsFactors = FALSE)

linkc <- as.vector(linkc$V1)

#载入link的颜色。link的颜色是migration的数据顺序一一对应的。并不建议link的颜色另起一套颜色。这样配色会特别混乱。

这里载入的link颜色如下,依次对应migration数据表中的,佛山-广州,深圳-广州,东莞-广州,香港-广州,广州-深圳……

link颜色一般是和sector有关:和第一列同一套颜色即可。对于交叉列表数据,可以设定同一个sector出发的link都是同一个颜色。

link颜色与sector完全无关:所有link都固定一种颜色,但是不推荐这样做,效果不太好。

chordDiagram(migration, grid.col = sectorc,col=linkc,transparency = 0.7) #grid.col 是设置sector颜色,col设置的是link颜色,transparency加一个透明度会显得好看。

circos.clear()

这个比之前的图更清晰的是,迁入广州的link都是用和广州的sector是一样颜色,所以广州这个sector的其他颜色,就是从广州迁出到其他地方的。这样一来,迁入迁出就很清晰。

另,circlize这个包很丰富,如果要改进细节,可以查看具体文档。https://cran.r-project.org/web/packages/circlize/circlize.pdf

这个图在Rsudio 导出的时候,可以设置任意的分辨率。可以满足高分辨率的制图要求。

三 怎么画好看的弦图

弦图好看不好看,和配色很有关系。

推荐一个配色网站 http://www.peise.net/tools/web/ 选择类似色搭配,一般会出现5种以上的颜色。例如这样的一套类似色。如果你PPT主题是蓝绿色的,用这套颜色配置黑色背景效果会不错。


另外有几个诀窍可以参考:

1.sector和link越多,弦图显示效果越好。

如果你的sector和link很少(不超过5),用弦图的时候,只用一种主题颜色和它的渐变色就好了。

2.配合你PPT的主题色。

查看PPT的主题色。PPT主题色往往有几组,弦图的颜色在主题色附近选择同一个系列深浅不一的颜色即可。 这样的配色符合PPT风格。

3.背景为白色:

配色建议推荐上面案例中几种颜色sector和link。如果sector数量大于5,以上面5种颜色为主色,在主色附近选择渐变的颜色。背景为白色,配色要显得比较淡雅的话,最好少用纯色。

纯色是HSV 中 Saturation == 100% ,也就是不含灰色的颜色。也就是,RGB中有一个值为0的颜色,或者RGB其中两个数值相同的颜色,这样的颜色容易显得“大红大绿”,尽量少用。

4.背景为深色:

黑色背景的图片sector和link就可以用纯色。推荐用深色背景,会比白色背景更让人觉得不明觉厉。

5.配色的原则

背景为白色,面积比较大的sector和link,建议用浅色;面积都比较小的sector和link,建议用深色。

背景为黑色则相反。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容