一种简单的数据指数分段方法

一、前言
在对数据可视化展示的时候,有时候需要对数据进行分段显示,如从0-10000的数据,分成5段,根据实际的数据情况可以进行等距分段,如0-2000,2000-4000….,但是很多时候,数据的分布没有这么平均,如果按照最大值进行等距离分段,整个信息的展示就不太合理,根据指数函数的特征,实现了一种指数分段的方法。
二、方法
关于指数函数的介绍,参考百度百科:指数函数
这里附上C#实现的方法

    public static double[] GetStepValue(int maxv)
        {
            double value = Math.Log(maxv, 8);

            //这里默认返回的5段
            double[] steps = new double[] {  Math.Pow(3, value), Math.Pow(4, value), 
                Math.Pow(5, value), Math.Pow(6, value), Math.Pow(7, value) };

            return steps;
        }

三、实现
上面简单的函数,只是一种区别于等距分段的方法,分段的值区间,可能要根据数据的实际情况做微调,主要是跟用户的需求和可视化的需求来定的,下图为分段后的北京动态人口网格信息:
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值