在数据分析和可视化的世界里,我们经常会遇到华夫饼图的身影。这个小家伙可是个超强的可视化工具,能帮我们清晰明了地展示数据占比。提到华夫饼图,可能有些同学还不太熟悉这个名词,但下面这个图,大家一定见过吧?快来看看,是不是很眼熟?
虽然FineBI已经提供了丰富多彩的图表种类,但华夫饼图并不在它的基础图表列表中。没关系,今天我们就来挑战一下,用FineBI制作上面提到的华夫饼图。准备好了吗?让我们一起动手,玩转这个有趣的图表吧!
为了演示效果,我特地准备了一份超级精简的表格数据,用它来制作华夫饼图简直绰绰有余!准备好了吗?让我们用这些数据大展身手吧!
商品 |
销量 |
衬衫 |
5 |
羊毛衫 |
10 |
雪纺衫 |
15 |
裤子 |
20 |
袜子 |
25 |
数据上传在这里我就不多介绍了,学习过FineBI基础的同学肯定是小菜一碟了,我们直接进行第一步:添加一个计算字段,统计总销量,像下图这样:
DEF(SUM_AGG(${销量}))
第二步:同样新增一个计算字段,我叫它为:格子数,因为上一步我们计算出所有商品总销量是75,而我们要展示的华夫饼图呢,我们准备了一个10*10个格子来展示数据,所以这一步需要计算出每个商品实际占用多少个格子。准备好了吗?让我们开始吧!
ROUND(100/${总销量}*${销量},0)
第三步:现在,我们来为数据扩展条数做好准备工作。这可是个神奇的公式,配合FineBI的“拆分行列”功能,简直妙不可言!之前的文章中我也展示过这种公式的魔力,有兴趣的同学可以翻出来瞧瞧(FineBI甘特图来啦!快来一键解锁这项技能吧....)。效果如下,赶紧来看看吧:
REPLACE(REPLACE(SPLIT(REPEAT(1,${格子数}),""),"[",""),"]","")
第四步:创建“拆分行列”,见证一个小奇迹的时刻到了!数据按照我们上一步的操作,瞬间拆分成了指定行数。这一步的妙用就在于,它能根据格子数扩展出对应的条数。准备好大开眼界了吗?Let's go!
第五步:因为上一步的成果生成一个值为1的文本字段。不过,这一步我们要把字段类型改成数值,为接下来的编序号工作做好准备。这可是承上启下的一步哦!看下图,效果杠杠的:
第六步:这步操作简直不要太简单!只需添加一个汇总列,命名为“序号”,为上一步的结果加个累计值。别小看这个累计值,它可是有大用处的哦!
第七步:敲黑板!重点来了!这可是华夫饼的精髓部分,少了这一步,华夫饼可是出不来的哦。添加一个计算字段,命名为:"y轴",这个公式的妙用就在于,将序号每10个分成一组,并且将组内的序号从大到小排列。准备好见证魔法了吗?
10-CEILING(${序号}/10)+1
第八步:又是一记重磅神操作!这一步决定了格子在x轴上的横向排列。虽然看起来生成的结果都是1到10的顺序排列,但暗藏玄机哦,绝对没那么简单!
IF(MOD(${序号},10)=0,10,MOD(${序号},10))
第九步:前面那些操作都是热身,接下来才是真正的见证奇迹时刻!进入组件编辑页面,选择图表类型为“自定义图表”,然后在 图形属性 中切换到“矩形块”样式。按我图中标记的顺序来操作,记得先把序号字段转换为维度,然后拖到图表的细粒度中。哦,对了,别忘了把序号字段设置为“相同值为一组”哦!
瞧瞧,一个华夫饼的雏形就这样诞生啦!是不是有点小激动呢?
以下是商品的颜色设置,仅供参考:
衬衫 |
#FF4500 |
羊毛衫 |
#FF8C00 |
雪纺衫 |
#FFD700 |
裤子 |
#90EE90 |
袜子 |
#00CED1 |
第十步:
是时候开始美化啦!
咱们要做的有:
隐藏横轴和纵轴的轴标题和标签,设置x轴和y轴的最大值,让图表在组件中居中显示,调整矩形块的大小,大概30左右就行,还有调整组件内边距等等。
动手吧,让我们的图表变得漂亮起来!
可以随心调整,直到你满意为止。怎么样,华夫饼图是不是超简单?你还想试试做什么图呢? |