形状地图中异常值的处理方法
在工作中,经常会碰到数据值差异非常大的情况,但是同时不仅对于异常值希望能够在形状地图中进行突出显示,在剩余的数据中也希望能够有所辨别。
image image image1. 使用中间色块来代表数据分割
1) 直接使用默认最大最小值
image这种设置对于左上角的地区可以看到颜色非常的深,很容易就区分出数量值很大,其他的区域就没有这么明显,如果同时想要突出显示中间数值区域和小数值区域,此种方式就会显得不适合。
2) 使用散射来设定中间值
image既然单纯的颜色深浅很难达到一目了然的目的,那就设置一个中间色来进行,通过中间色至少我们可以把数据分为3个档次。
同时,对于散射的最小值,最大值以及居中值可以自行设定。如果我们直接以平均值作为居中数值的话,结果会和目标图差不多,但是有一个问题,就是这个居中值是一个绝对值,是需要手动填写的,但是数据是变动的,如何使用一个动态值来进行设置呢?除此之外,中间有一个地区是绿色的,实际上这个值也是偏大,但是与最大值之间还有比较大的差距,如果想同时突出显示这些异常值的话,就得先把异常值给找到。
image2. 使用标准差来判断异常值
首先得定义什么样的值是异常值,根据标准差经验法来看,95%的值一般在标准差2倍内,所以我们把差异值统一调整成大值以便突出显示。例如可以使用最大值或者平均值+标准差(根据实际情况来定)。
这里使用的是标准差+平均值来突出异常值。
具体度量写法
异常值 =
var std=CALCULATE(STDEV.P('表2'[销售量]),all('表2'[省州]))
var ave=CALCULATE(AVERAGE('表2'[销售量]),ALL('表2'[省州]))
return
SUMX('表2',if('表2'[销售量]>2*std,std+ave))
image
这样就把异常值都归类为一种颜色,方便突出。
3. 使用对数值来进行代表数据分割
当然如果再简单点的话则可以使用对数的方式来降低各个值之间的差异大小。
image可以明显看到色彩区间更为丰富了,数据颜色分区更明显了。
网友评论