Tableau实现南丁格尔玫瑰图(多层)

南丁格尔玫瑰图

原理:画圆,显示圆上的每一点的路径,扇形的半径反映数值大小

数据集形式
    维度:日期(月),数值,path
    一式两份:一份的path为1,另一份的path为102
    (见图1)

角度起始线为y轴,顺时针旋转,最大为360°
创建数据桶:数据桶大小为1,最小值为1,最大值为102,数据桶取值范围越大,坐标点越多,画出的图像越近似圆
创建计算弧度的两个字段
    【Edges】=INDEX()
    //维度,按照类别计算,扇形1=1,扇形2=2,……,计算依据为日期(月)
    【Angle】=([Edges]-1)*(2*PI()/WINDOW_MAX([Edges]))
    //用于计算扇形起始角度,WINDOW_MAX([Edges])返回Edges最大值,有多少个月份就把圆分成几份,计算依据为日期(月)

创建计算扇形个数的两个字段
    【Count】=INDEX()
    //扇形个数,计算依据为日期(月)
    【Number of Slices】=WINDOW_MAX([Count])
    //扇形总数,计算依据为日期(月)、path(数据桶)

创建计算半径的字段
    【Radius】=SQRT(AVG([数值])/PI())
    //扇形半径,等于(数值/Π)开根,数值代表扇形面积(原理:S=Πr^2/360*角度)

创建X、Y相关字段
    【Index】=INDEX()
    //数据桶维度,计算依据为path(数据桶)
    【X】=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值,计算依据为path(数据桶)
    //将每个扇形等分成(path最大值-3)份,每份角度为360/(扇形总数*份数),当维度为1或102时,x = 0,路径经过圆心;否则,x = 半径*sin(起始角度+相对角度),起始角度为每个扇形的初始边对应的角度,相对角度为扇形弧上第n-2个点与圆心连线相对扇形起始边的角度
    【Y】=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值,与【X】类似

将X、Y拖到列、行,标记选择多边形,将path(数据桶)拖到路径,月(日期)拖到颜色
    //将数据转换成坐标点,并依据path(数据桶)显示路径,标记显示路径围成的多边形区域

编辑X、Y的表计算
    根据上述计算依据右键行、列的X、Y编辑表计算依据

多层(反映占比情况)
    源数据-添加新的维度,维度下的种类不宜超过3个,每个种类与日期、数据一一对应
    将新维度拖动到详细信息,点击小图标转换为颜色标记

添加细节
    左键点击标记-颜色-选择颜色-选择边界颜色和线型
    调整坐标轴范围使横纵一致

疑问
    如何快速添加月份标签注释?
    如何显示区域占比?

成果
    

参考来源
    作者:扫地sir
    链接:https://www.jianshu.com/p/d3b254868cb5
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

图1

#tableau##数据分析##可视化#
全部评论

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 15:46
已编辑
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务