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进行初始化,就解决这样的问题。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的Echarts图表需要通过后台返回字符显示在tooltip中,可以使用formatter回调函数来实现。 例如,你可以通过Ajax请求从后台获取数据,并将数据以字符串的形式返回。在Echarts的tooltip的formatter回调函数中,你可以使用参数params中的data属性来获取当前数据项的值,并将其与从后台获取的字符串拼接起来,最后返回一个字符串作为提示框内容。 下面是一个示例代码: ```javascript option = { tooltip: { formatter: function(params) { var data = params.data; // 获取当前数据项的值 var str = ''; // 用来存储后台返回的字符串 $.ajax({ url: 'your_backend_url', // 后台请求地址 dataType: 'json', async: false, // 设置为同步请求 success: function(res) { str = res.data; // 获取后台返回的字符串 } }); return data + ' ' + str; // 将后台返回的字符串与当前数据项的值拼接起来,作为提示框内容返回 } }, series: [{ type: 'bar', data: [10, 20, 30, 40, 50] }] }; ``` 在上述代码中,我们定义了一个柱状图,并将tooltip的formatter回调函数设置为一个匿名函数。在该函数中,我们首先通过params.data获取当前数据项的值,然后通过Ajax请求从后台获取字符串,并将字符串与数据项的值拼接起来作为提示框内容返回。需要注意的是,由于Ajax请求是异步的,为了确保在返回字符串之前不会返回提示框内容,我们将Ajax请求设置为同步模式(async: false)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值