Echarts中数据对tooltip小气泡的影响

本文介绍了在ECharts中使用toopltip时遇到null值的解决方案,包括修改trigger属性为item以及使用formatter进行自定义显示。通过示例展示了如何处理null值并定制tooltip内容。
摘要由CSDN通过智能技术生成

toopltip的用法很简单,只需要在echarts的配置项中添加tooltip属性就好了,但是有一些小的注意点需要注意。

toopltip官方文档:Documentation - Apache ECharts

当数据中存在null后,toopltip对应的数据会以 " - " 形式展示。

为了解决这种情况,数据为null时不展示这个字段,可以修改toopltip对象中的trigger属性,将trigger:'axis'修改为trigger:'item'。

第二种方法可以formatter来实现,formatter可以自定义toopltip里的布局以及数据,对开发者来说可以非常灵活的实现想要的结构,formatter回调函数打印的params如下;可以通过返回一个模板字符串的dom元素。

demo源代码

import './App.css';
import React, {useEffect, useRef, useState} from 'react';
import * as echarts from "echarts";

function App() {
    const echartsRef = useRef();
    const option = {
        xAxis: {
            type: 'category',
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        tooltip:{
            trigger:'axis',
            formatter:(params)=> {
                console.log(params,'ppppppp')
                let arr=params.map((item)=>{
                    if(item.data){
                        return item
                    }
                })
                return `
                        <div>${arr[0].seriesName}</div>
                        <div>${arr[0].name} : ${arr[0].data}</div>
                        <div>${arr[1]?arr[1].name:''} ${arr[1]?arr[1].data:''}</div>
                        `
            }
        },
        yAxis: {
            type: 'value'
        },
        series: [
            {
                name:'aaa',
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar',
                stack: 'Ad',
            },
            {
                name:'bbb',
                data: [10, 20, 15, null, 7, 11, null],
                type: 'bar',
                stack: 'Ad',
            }
        ]
    };

    useEffect(()=>{
        const chart1 = echarts.init(echartsRef.current);
        chart1.setOption(option);
    },[])
    return (
        <div className="App" style={{paddingTop:20}}>
            <div style={{width:'100%',height:500}}>
               <div ref={echartsRef} style={{width:'100%',height:'100%'}}></div>
            </div>


        </div>
    );
}

export default App;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值