首发于Power BI Club
Power BI 自定义可视化 - 复合饼图

Power BI 自定义可视化 - 复合饼图

近期自己尝试开发了一个自定义可视化 - 复合饼图。这款原本在Excel的可视化终于可以搬到Power BI使用了:

(本可视化仅用于学习目的,其使用案例可在此下载(ppll))

一、基本介绍

如上图所示,这其实是一个很简洁质朴的复合饼图,用法也很简单。该饼图接受两个字段:分类字段和数值字段,缺少一个就会出现下图警告:

其原理是,可视化会计算不同标签数据在饼图的占比,占比小于一定阈值的数据会被分离出来,放入到子饼图中显示,主饼图会自动旋转一定角度使之占比较小的部分始终朝向子饼图,同时虚线的位置也会随主饼图的开口角度的变化而变化:

二、功能

该可视化提供以下功能:

1.中英文语言识别

可视化控件会依据你的Desktop版本显示相应的语言,仅提供英文、简体中文和繁体中文,如果你的版本是英文的它会像如下显示全英界面:

2.设置标签内容

可以设置饼图标签所显示的内容,如果选择"全部显示"则为“标签,数值,百分比”全部显示,如下:

3.控制标签位置

"外部"意为把所有标签置于饼图外部,"内部"相反,默认为自动模式,如下图:

4.设置文字颜色

如下图:

5.设置主题颜色

设置饼图边框,虚线以及图例边框的颜色,如下图:

6.设置字体

7.合并为Others

开启"合并较小值"可以将所有因比重较小而被划分至子饼图的分类在主图中合并为"Others"以代表"其他"。如下图:

8.显示&隐藏虚线

如下图:



9.设置是否显示图例:如下图

10.设置是否显示图例边框:如下图

11.设定图例(文本)大小:如下图

12.设置图例方位:如下图

(注:点击任意一个图例可以实现在图中排除该项的效果,再次双击可以恢复为显示全部)

13.调换饼图位置

选择反向可以调换主图与子图的位置,如下图

14.设置为圆环图并设定空心半径:

在默认情况下,无论主饼图还是子饼图都显示为实心饼图,但你可以在此处通过改变内圆环半径来使它们变成符合您需求的圆环图。

15.打开工具栏

由于本可视化基于Plotly库开发,因此你可以打开工具栏尝试使用Plotly自带工具(如下图所示套索工具),在默认情况下工具栏是隐藏的。

16.补充增加的部分

(1)渐变色

(2)分离Others扇面

三、其他说明

我尝试的第一个自定义可视化项目,做的比较简陋,让大神见笑了~由于本可视化是基于R开发的,因此它存在两个无法回避的缺点:响应慢(相对于用D3开发的可视化而言)以及无法在本地部署的Power BI Report Server上使用(截至目前),但它也有优点:支持的数据容量更大,更强的数据处理能力以及良好的互动性;还有一个问题是饼图和虚线基于不同的坐标轴,因此当可视化控件的长宽比不为1:1时可能会出现虚线与饼图位置不能正确校准,因此我强烈建议用户开启"锁定纵横比(Lock aspect)"选项以避免此问题:

可视化文件会于日后调整完成后发布。欢迎私信我您的宝贵意见。

(2019年6月30日 有更改)


附:如果你想开发自己的自定义可视化,并且倾向于使用D3.JS,你可以到网易云课堂搜索罗简单老师的课程,友情推荐,无利益相关。如果你倾向于使用R语言开发,以下链接也许能帮到你,这也是我在开发过程中所使用的主要参考资料:

编辑于 2019-07-24 23:27