echarts折线图设置tooltip属性实现鼠标滑过显示提示框内容

本文介绍了如何使用Echarts库创建一个折线图,并配置tooltip属性,使得当鼠标滑过图表时能显示详细的提示信息。通过设置`formatter`函数,自定义了提示框的内容,包括数据系列名和对应的值,以及模拟的点效果。示例代码展示了完整的HTML和JavaScript实现。

echarts折线图设置tooltip属性实现鼠标滑过显示提示框内容

效果图

在这里插入图片描述

具体代码

<!DOCTYPE html>
<html style="height: 100%">
<head>
    <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
<div id="container" style="height: 100%"></div>

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>

<script type="text/javascript">
    var dom = document.getElementById("container");
    var myChart = echarts.init(dom);
    var app = {};

    var option;

    option = {
        title: {
            text: '某地区蒸发量和降水量',
            subtext: '纯属虚构'
        },
        tooltip: {
            trigger: 'item',
            formatter: function (params) {
                var color = params.color;//图例颜色
                var htmlStr = '<div>';
                htmlStr += params.name + '<br/>';//x轴的名称
                //为了保证和原来的效果一样,这里自己实现了一个点的效果
                htmlStr += '<span ></span>';
                //添加一个汉字,这里你可以格式你的数字或者自定义文本内容
                htmlStr += params.seriesName + ':' + params.value + 'ml';

                htmlStr += '</div>';

                return htmlStr;
            }
        },

        xAxis: {
            type: 'category',
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
        },
        yAxis: {
            name: '毫升',
            type: 'value'
        },
        series: [{
            name: '降水量',
            data: [150, 230, 224, 218, 135, 147, 260],
            type: 'line'
        }]
    };

    if (option && typeof option === 'object') {
        myChart.setOption(option);
    }

</script>
</body>
</html>
    
ECharts 中,`tooltip.formatter` 属性用于自定义提示框的内和样式。通过使用 HTML 字符串或回调函数,可以灵活地控制显示的格式和样式。以下是一个典型的配置示例,展示了如何通过 `formatter` 实现不同内样式的提示框: ```javascript option = { tooltip: { trigger: 'axis', formatter: function(params) { // params 是一个数组,包含当前坐标轴下所有系列的数据 let result = '<div style="padding: 10px; background: #2c2c2c; color: #ffffff; border: 1px solid #ccc;">'; result += `<strong>${params[0].name}</strong><br/>`; params.forEach(function(item) { result += `<span style="display:inline-block;margin: 2px 0;border-left: 4px solid ${item.color};padding-left: 6px;">${item.seriesName}: </span>`; result += `<span style="color:#ffdd57;">${item.value}</span><br/>`; }); result += '</div>'; return result; } }, xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ name: 'Series 1', type: 'line', data: [150, 230, 224, 218, 135, 147, 260], color: '#5470C6' }, { name: 'Series 2', type: 'line', data: [80, 130, 180, 210, 250, 300, 320], color: '#91CC75' }] }; ``` ### 说明: - `tooltip.formatter` 可以是一个函数,也可以是一个 HTML 字符串。在函数中,可以通过参数 `params` 获取当前提示框相关的数据信息。 - 在返回的字符串中,可以直接嵌入 HTML 和 CSS 样式,从而实现更丰富的视觉效果。 - 通过内联样式,可以为不同的系列设置不同的颜色、背景等样式,提升用户体验[^2]。 此外,ECharts 的 `tooltip` 支持多种触发方式,例如 `'axis'`、`'item'` 等,可以根据实际需求选择合适的触发模式。如果需要更复杂的交互,也可以结合 JavaScript 函数进行动态处理。 --- ### 相关问题: 1. 如何在 ECharts 中自定义 tooltip 的背景颜色和字体样式? 2. EChartstooltip.formatter 支持哪些参数? 3. 如何在 Vue3 + TypeScript 项目中集成 ECharts 并自定义 tooltip? 4. 如何通过 JavaScript 函数进一步扩展 EChartstooltip 功能? 5. 在 ECharts 中,如何根据不同数据系列设置不同的 tooltip 样式?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值