首页 > 其他分享 >前端ECharts加标记点及标记线和提示框

前端ECharts加标记点及标记线和提示框

时间:2025-01-23 09:35:38浏览次数:1  
标签:10 点及 option 标记 var 提示框 data ECharts

ECharts是一个开源的JavaScript可视化库,广泛应用于数据可视化领域。它提供了丰富的图表类型和强大的配置项,能够满足各种复杂的数据展示需求。本文将详细介绍如何在ECharts图表中添加标记点、标记线和提示框,以增强数据的可读性和用户体验。

一、ECharts的基本使用

在深入讲解标记点、标记线和提示框之前,首先介绍ECharts的基本使用方法。

1.1 引入ECharts

可以通过CDN方式引入ECharts库:

<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
​
   

或者通过NPM安装:

npm install echarts
​
   

1.2 初始化图表

创建一个用于展示图表的HTML元素,并通过JavaScript初始化ECharts实例。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts示例</title>
</head>
<body>
    <div id="main" style="width: 600px; height: 400px;"></div>
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <script>
        var chart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: 'ECharts 示例'
            },
            tooltip: {},
            xAxis: {
                data: ['A', 'B', 'C', 'D', 'E']
            },
            yAxis: {},
            series: [{
                type: 'bar',
                data: [5, 20, 36, 10, 10]
            }]
        };
        chart.setOption(option);
    </script>
</body>
</html>
​
   

二、添加标记点

标记点(MarkPoint)用于标记图表上的特定数据点,可以用来标识数据中的最大值、最小值或特定的关键点。

2.1 添加标记点的配置

在 series配置项中,通过 markPoint属性添加标记点。

var option = {
    // 其他配置项...
    series: [{
        type: 'bar',
        data: [5, 20, 36, 10, 10],
        markPoint: {
            data: [
                { type: 'max', name: '最大值' },
                { type: 'min', name: '最小值' },
                { name: '自定义标记', coord: [2, 36], value: 36 }
            ]
        }
    }]
};
chart.setOption(option);
​
   

2.2 示例

在上述代码中,添加了三个标记点:一个标记最大值、一个标记最小值、一个自定义标记点。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts示例</title>
</head>
<body>
    <div id="main" style="width: 600px; height: 400px;"></div>
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <script>
        var chart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: 'ECharts 示例'
            },
            tooltip: {},
            xAxis: {
                data: ['A', 'B', 'C', 'D', 'E']
            },
            yAxis: {},
            series: [{
                type: 'bar',
                data: [5, 20, 36, 10, 10],
                markPoint: {
                    data: [
                        { type: 'max', name: '最大值' },
                        { type: 'min', name: '最小值' },
                        { name: '自定义标记', coord: [2, 36], value: 36 }
                    ]
                }
            }]
        };
        chart.setOption(option);
    </script>
</body>
</html>
​
   

三、添加标记线

标记线(MarkLine)用于在图表中添加水平线、垂直线或特定斜线,以标识阈值、趋势线或其他关键值。

3.1 添加标记线的配置

在 series配置项中,通过 markLine属性添加标记线。

var option = {
    // 其他配置项...
    series: [{
        type: 'bar',
        data: [5, 20, 36, 10, 10],
        markLine: {
            data: [
                { type: 'average', name: '平均值' },
                { name: 'Y轴值为20的水平线', yAxis: 20 }
            ]
        }
    }]
};
chart.setOption(option);
​
   

3.2 示例

在上述代码中,添加了两条标记线:一条标记平均值的线、一条自定义的水平线。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts示例</title>
</head>
<body>
    <div id="main" style="width: 600px; height: 400px;"></div>
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <script>
        var chart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: 'ECharts 示例'
            },
            tooltip: {},
            xAxis: {
                data: ['A', 'B', 'C', 'D', 'E']
            },
            yAxis: {},
            series: [{
                type: 'bar',
                data: [5, 20, 36, 10, 10],
                markLine: {
                    data: [
                        { type: 'average', name: '平均值' },
                        { name: 'Y轴值为20的水平线', yAxis: 20 }
                    ]
                }
            }]
        };
        chart.setOption(option);
    </script>
</body>
</html>
​
   

四、添加提示框

提示框(Tooltip)用于在鼠标悬停或点击时显示数据点的详细信息。

4.1 配置提示框

在 tooltip配置项中,可以设置提示框的触发方式、格式化内容等。

var option = {
    // 其他配置项...
    tooltip: {
        trigger: 'axis',
        formatter: function (params) {
            var result = '';
            params.forEach(function (item) {
                result += item.seriesName + ': ' + item.data + '<br>';
            });
            return result;
        }
    },
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10]
    }]
};
chart.setOption(option);
​
   

4.2 示例

在上述代码中,提示框设置为在鼠标悬停时触发,并自定义了显示内容的格式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts示例</title>
</head>
<body>
    <div id="main" style="width: 600px; height: 400px;"></div>
    <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
    <script>
        var chart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: 'ECharts 示例'
            },
            tooltip: {
                trigger: 'axis',
                formatter: function (params) {
                    var result = '';
                    params.forEach(function (item) {
                        result += item.seriesName + ': ' + item.data + '<br>';
                    });
                    return result;
                }
            },
            xAxis: {
                data: ['A', 'B', 'C', 'D', 'E']
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10]
            }]
        };
        chart.setOption(option);
    </script>
</body>
</html>
​
   

五、总结

通过ECharts添加标记点、标记线和提示框,可以显著提升图表的可读性和交互性。标记点可以突出显示特定数据点,标记线可以标识重要阈值,而提示框可以提供详细的数据点信息。合理使用这些功能,可以使数据展示更加直观和易于理解。

标签:10,点及,option,标记,var,提示框,data,ECharts
From: https://www.cnblogs.com/ll55522201/p/18687114

相关文章

  • Avalonia程序显示简单的提示框
    1.打开VisualStudio2022项目确保你已经打开了你想要导入库的项目。2.打开NuGet包管理器通过NuGet包管理器界面:在VisualStudio中,点击顶部菜单栏的 工具 > NuGet包管理器 > 管理解决方案的NuGet包。在弹出的界面中,选择 浏览 标签页。通过NuGet包管......
  • 我把一个Rust程序函数标记为async之后,当它被执行时返回一个Future对象,是这样吧? 那我持
    UUUUUUUUUU是的,您理解是正确的。让我们详细解答您的问题。1.async函数的行为当你将一个Rust函数标记为async时,函数不会立即返回结果,而是返回一个Future对象。这个Future表示计算的结果,并且会在某个时刻完成(即变为Ready状态,包含计算结果)。例如:asyncfnexample()......
  • golang:校验库go-playground/validator的常用标记
    一,官网:官方文档:https://pkg.go.dev/github.com/go-playground/validator/v10代码地址:https://github.com/go-playground/validator二、常用标记说明标记标记说明例required必填Field或Struct validate:"required"omitempty空时忽略Field或Struct va......
  • JMeter:处理 HTTP 请求失败并标记为成功
    JMeter:处理HTTP请求失败并标记为成功重要提示:通常情况下,不建议将失败的请求标记为成功。明确知道需要这样做,并且已经充分考虑了其影响的情况下,才应该使用这种方法。常见的使用场景包括:测试应用的容错能力:测试应用程序在API接口不可用时的行为。暂时忽略某些已知错误:在......
  • 基于dRRBS技术的精液DNA甲基化年龄预测:全基因组标记鉴定和模型开发
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。DNA甲基化(DNAm)在特定CpG位点上的5-甲基胞嘧啶(5mC)比例随年龄而显著变化,因此DNA甲基化是法医学中估计个体年龄的关键分子标记,然而,基于年龄相关CpG位点(AR-CpG)DNA甲基化标记的年龄预测模型在不同细胞类型和组织中的表现不......
  • 2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其
    2025-01-15:执行操作可获得的最大总奖励Ⅰ。用go语言,给定一个整数数组rewardValues,其中包含n个代表奖励值的数字。你开始时的总奖励x为0,并且所有下标都是未标记状态。你可以进行以下操作若干次:1.从索引范围[0,n-1]中选择一个未标记的下标i。2.如果rewardValues[i]......
  • Python用Lasso改进线性混合模型Linear Mixed Model分析拟南芥和小鼠复杂性状遗传机制
    全文链接:https://tecdat.cn/?p=38800原文出处:拓端数据部落公众号在生物医学领域,探究可遗传性状的遗传基础是关键挑战之一。对于受多基因位点多因素控制的性状,准确检测其关联存在诸多困难,且易受群体结构等混杂因素影响产生假阳性结果。本文帮助客户建立Lasso线性混合模型,它能实现......
  • .NET Core GC标记阶段(mark_phase)底层原理浅谈
    简介C#采用基于代的回收机制,并使用了更复杂的链式跟踪算法来识别对象是否为垃圾。GC触发的原因截至到.NET8,GC触发的原因有18种enumgc_reason{reason_alloc_soh=0,//小对象堆,快速分配预算不足reason_induced=1,//主动触发GC,没有关于压缩和阻塞的选项r......
  • 如何用通俗易懂的方式解释大模型中的SFT,SFT过程需要大量标记的prompt和response吗?
    想象你在培训一个超级助理假设你新买了一个智能管家机器人,它已经看过海量的书籍和资料(这就是预训练过程)。但是呢,它还不太懂得"做人的艺术"——不知道该用什么语气说话、怎么回应你的需求。现在你要训练它成为一个得体的助理,这就是SFT要做的事情。SFT其实就是在教机器人"做......
  • 基于yolov5,在labelimg标记后训练数据集
    来自一个小白的视角,使用labelimg标记,训练数据集,含label的功能使用,yolov5数据集训练容易产生的错误及解决方式----纯小白,如有遗漏或错误,欢迎大家改正关于Anaconda环境配置,yolov5的下载可以看我之前的博客:通过Yolov5使用ip摄像头实时监测(CPU)_yolo5控制台cmd检测网络摄像头-CSD......