美文网首页
用Tableau画南丁格尔玫瑰图(二)

用Tableau画南丁格尔玫瑰图(二)

作者: 扫地sir | 来源:发表于2019-01-04 14:01 被阅读81次

    有了上一篇的基础我们就来真正画一个南丁格尔玫瑰图

    我整理了一份数据集(百度网盘),大致就是下面这样。

    Tableau引入数据,创建4组,8个计算字段(这里的path用了1-102,相应的X、Y的公式也和第一篇略有差别,效果就是半圆更平滑)

    创建计算弧度的两个字段

    【Edges】=INDEX()

    【Angle】=([Edges]-1)*(2*PI()/WINDOW_MAX([Edges]))

    创建计算扇形个数的两个字段

    【Count】=INDEX()

    【Number of Slices】=WINDOW_MAX([Count])

    创建计算半径的字段

    【Radius】=SQRT(AVG([Value])/PI())

    创建X、Y相关字段

    【Index】=INDEX()

    【X】=IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])

    *COS([Angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))

    【Y】=IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])

    *SIN([Angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))

    首先把【X】、【Y】拖到行列功能区,然后将【Month】和【Cause】拖入标签的颜色和详细信息,选择多边形标记,【path数据桶】拖入路径。

    下面是编辑表计算,例如X字段一共是6个表计算(X和Y一样)

    【X】和【Index】计算依据选【path数据桶】(跟第一篇的一样)

    【Edges】、【Angle】、【Count】表计算依据都选【Month】(也跟第一篇的一样)

    只有【Number of Slices】表计算依据特殊,选两个

    然后再手动调整一下【month】【Cause】的顺序和颜色,加个边界,大致就是这个样子了

    特别要说明的一点是,wiki百科上的原图是这样的,1854年4月份只有灰色,但是实际上数据集里disease和other都是6,所以两个重叠,还有就是11月份没有棕色的,实际上11月份的other是有数据的,就算去调整【Cause】的排序也是没有办法。

    原图

    我调整了一下颜色的透明度,可以略微弥补一下,也可以用【Cause】的突出显示或者筛选之类的工具来做一些交互效果来弥补。(做好的效果

    目前没有找到方法,网上有大神用饼图制作玫瑰图,解决了这个问题,但是实在太复杂,没看明白(public直达)。有兴趣的可以去研究一下

    所以就目前这种方法,在应用中要注意的两个问题,以避免遮盖问题

    1.保证同一个扇形内,数值都不一样。

    2.保证同一个扇形内,各个小扇形的相对比例关系是不变的。

    相关文章

      网友评论

          本文标题:用Tableau画南丁格尔玫瑰图(二)

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