如上图显示的问题,是因为在字符集中字符出现的次数出现了重合,导致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进行初始化,就解决这样的问题。