和弦图
数据源如下,可以把每一个字母标签想象成一个城市,从行开始看,A1—A1表示留在A1城市的人口数量,A1—A2表示从A1流向A2城市的人口数量,A2—A1表示从A2流向A1城市的人口数量。
数据源
对数据源进行处理,就是单纯的对列2到列7进行逆透视处理,逆透视后的3列分别命名为【开始】、【结束】、【值】,然后增加了【大组】、【小组】、【合并】、【link】列,【大组】列就是每一个标签一个数字,【小组】列就是每一个相同的标签都是0到5这6个数字,【合并】列是【开始】和【结束】列的文本的合并,【link】列用来和t值表连接,t的值从0到1,以0.01为增量。
对数据源进行处理
t值表
然后还要复制一张数据源表,把【合并】列改为【结束】列和【开始】列的文本合并,也就是把合并的顺序变一下,删除掉无关列就可以了。
复制一份数据源
如下图所示连接,【数据】表和【和弦复制】表以【合并】列进行连接,主要是因为A1—A2和A2—A1本来应该画出来是两条线,但可以通过计算字段让它只显示一条线,但是我又希望这条线的两端大小分别是A1—A2和A2—A1的数值大小,通过以【合并】字段连接就可以让这两个数值出现在同一行里。
连接
建立计算字段:
开始X
这里的10是因为有6*6个点,每个点占10度。
开始Y
结束X
结束Y
贝塞尔曲线公式如下:
贝塞尔曲线公式
x
方框1的作用是A1—A2和A2—A1两条线重叠时只作第一条线。方框2可以不写,不写的时候就是把原点作为贝塞尔曲线公式中的P1点,要想把弧度变小,只要把P1点偏离圆心,更靠近P1、P2、P0组成的等腰三角形的垂线底端就可以了,如果P1点是线段的中点的话,横(纵)坐标按照比例换算就是0.25*(X0+X2)
size
如下图所示放置:
创建外面的圆环: