Power BI 跑道图核心原理

2023-09-22 20:27:57 浏览数 (2)

跑道图从功能上来说类似条形图,从样式上来说像环形图。与条形图的区别在于,它是弯曲的;与环形图的区别在于,跑道的数量是不固定的。例如以下人员对比,按照筛选环境,可能是三个人,也可能是五个人。

Power BI使用SVG可以度量值自定义跑道图(不了解SVG参考:Power BI SVG制图入门知识),并用新卡片图视觉对象展示(Power BI可视化的巅峰之作:新卡片图)。

要绘制跑道图,先要知道环形图怎么画。环形图的构建有两种方式,一种是画一个完整的圆圈,然后使用stroke-dasharray显示有数据的部分。另一种是使用path的弧线命令A只绘制数据对应的圆弧,《Power BI DAX设计扇形图、环形图》已给出绘制方法。至于跑道是180度还是270度,可以调整A对应的值。

有了一个环形,如何多个环形拼接?以上图的人员业绩达成为例,使用ROWNUMBER函数,按照业绩达成率指标构建索引,对跑道的半径进行衰减(即最大值半径最大,例如100像素,其它的按索引减少),最后用CONCATENATEX函数拼接所有跑道。

类别标签、数据标签使用SVG的text元素统一书写,头像这里使用的是base64编码(参考:Power BI本地图片显示最佳解决方案),新卡片图视觉对象暂不支持网络图床URL嵌入SVG,SVG的image元素引用头像。无论是text还是image,纵坐标(即Y值)随ROWNUMBER的索引进行变化。

以下是半圆跑道的实现效果:

0 人点赞