echarts的字符云显示错乱




 
 如上图显示的问题,是因为在字符集中字符出现的次数出现了重合,导致echarts在显示时,出现了混乱了。解决的办法,就是自己重新定义字符出现的次数,相同的次数自定义一个小间隔,出现等差数列的,解决了上面出现的方案。

部分代码

$arr = array(

"普拉多"=>12,

  "系统"=>4,

  "动力"=>4,

  "扭矩"=>4,

  "空气囊"=>3,

  "5系"=>3,

  "驾驶席"=>3,

  "丰田"=>3,

 "模式"=>3,

  "空调"=>2,

  "路面"=>2,

  "时代"=>2,

  "天气"=>2,

  "温度"=>2

);

对上面的数据进行重新

$v_1 = 0; 

$flag_1 = false;

$j = 0.05;

foreach($arr as $k=>$v){

    if($flag_1) $j = 0.05;

    if($v_1 == $v){

       $arr[$k] =  ($v += $j);

        $j += 0.05;

        $flag_1 = false;

    }else{

        $v_1 = $v;

        $flag_1 = true;

    }  

}

echo '<pre>';

arsort($arr);

 $arr = array_slice($arr, 0, 14);

print_r($arr);

$j 就是等差数列的等差的值,这个值你可以自定义,尽可能小点,使相同次数的字符大小显得大小都一样

显示结果:

Array
(
    [普拉多] => 12
    [扭矩] => 4.1
    [动力] => 4.05
    [系统] => 4
    [模式] => 3.2
    [丰田] => 3.15
    [驾驶席] => 3.1
    [5系] => 3.05
    [空气囊] => 3
    [温度] => 2.2
    [天气] => 2.15
    [时代] => 2.1
    [路面] => 2.05
    [空调] => 2
)

此时数据放入echarts进行初始化,就解决这样的问题。

猜你喜欢

转载自ningyul.iteye.com/blog/2368752
今日推荐