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##数据分析##可视化#