Eden.Sun 发表于 2024-8-20 17:53:08

【报表设计】父子饼图设计

本帖最后由 Eden.Sun 于 2024-8-21 14:46 编辑

    分享一个最近遇到的父子饼图使用场景,今天分享给大家, 大家可以根据自己的场景使用。
   
    1. 需求场景
    饼图的主图显示所有数据的分类占比,但是只显示主数据的标签和信息,其余的数据在子图上显示。如下:
   

    2. 需求分析
    2.1 从上面的图可以很直观的看到,这就是两个饼图,中间使用线条进行连接。而数据上,主图只有面积最大的一部分显示数据标签:名称+占比,剩余的数据在子图上显示。
    2.2 子图没有什么特殊的,就是正常的饼图显示数据,添加一个过滤条件把最主数据过滤掉
    2.3 主图的设计,可以看到最大的区域是公司本部的数据,其余的是分公司数据。从设计角度来说,主图的样式可以保持不变,对于样式并不要求,只要数据显示正确即可,这可以给主图绑定一个固定数据的数据集,保证每一部分的数据一直不发生变化;
    2.4 两个饼图之间的连接线,可以使用线条组件模拟。由于主图的样式不变,所以调整位置实现视觉效果即可。


    3. 设计实现
    3.1 首先是创建两个饼图,分别绑定数据集。添加两个线条组件,大致构建出主体:
   

   
    3.2 主图设置:主图只需要绑定对应的数据集即可,我们用文本框模拟数据提示效果:公司本部:{Format(Sum(IIF(分类 = "公司本部", 数据, 0)) / Sum(数据), "p2")};原理是通过文本框计算“公司本部”的占比;
   

    然后,调整饼图扇形区域的角度,使得其他区域的部分正对子表,更加精细的效果,可以在继续调整
   

    3.3 子图设置:子图正常显示数据标签,增加数据过滤,过滤掉本部数据即可:
    提示标签:
   

    数据过滤:
   


    3.4 最终效果,由于主图使用的是固定的数据,所以对应区域的位置就能时刻保持固定,就能完成率父子图表的效果实现
   




    附件是我做的一个简单的demo,感兴趣的小伙伴可以参考一下。

页: [1]
查看完整版本: 【报表设计】父子饼图设计