ECharts极简入门

ECharts 是一个基于 JavaScript的开源可视化图表库,广泛应用于数据可视化的场景中,支持多种图表类型,如柱状图、折线图、饼图、散点图、雷达图等,且具有强大的自定义功能。

1. ECharts 基本使用

首先需要引入 ECharts 库,通常通过 CDN 或本地引入。以下是通过 CDN 引入的方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ECharts 入门教程</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
    <style>
        #chart {
            width: 100%;
            height: 400px;
        }
    </style>
</head>
<body>
    <div id="chart"></div>

    <script>
        // 初始化 ECharts 实例
        var chart = echarts.init(document.getElementById('chart'));

        // 配置项
        var option = {
            title: {
                text: 'ECharts 入门示例',
                subtext: '子标题',
                left: 'center'
            },
            tooltip: {
                trigger: 'item',
                formatter: '{a} <br/>{b}: {c} ({d}%)'
            },
            legend: {
                orient: 'vertical',
                left: 'left',
                data: ['A', 'B', 'C', 'D']
            },
            series: [
                {
                    name: '类别',
                    type: 'pie',
                    radius: '50%',
                    data: [
                        { value: 40, name: 'A' },
                        { value: 30, name: 'B' },
                        { value: 20, name: 'C' },
                        { value: 10, name: 'D' }
                    ]
                }
            ]
        };

        // 使用刚定义的配置项和数据显示图表
        chart.setOption(option);
    </script>
</body>
</html>

2. 解析配置项

  1. title:图表的标题配置。

    • text: 主标题内容。
    • subtext: 副标题内容。
    • left: 控制标题的位置,center表示居中,left表示左对齐,right表示右对齐。
  2. tooltip:提示框配置,鼠标悬浮在图形元素上时显示的内容。

    • trigger: 触发方式,item表示触发项(如饼图的每一项),axis表示坐标轴触发。
    • formatter: 自定义提示框的显示内容,{a}是系列名称,{b}是数据项名称,{c}是数据项的值,{d}是百分比。
  3. legend:图例配置,展示各系列对应的标识符。

    • orient: 图例的排列方式,vertical表示竖直排列,horizontal表示水平排列。
    • left: 控制图例的位置,left表示左对齐,center居中,right右对齐。
    • data: 图例项的名称数组,对应到 series 数据项中的 name
  4. series:系列数据配置,ECharts 中的图表类型(如柱状图、折线图、饼图等)都会通过 series 来定义。

    • name: 系列名称,用于 tooltip 提示框展示。
    • type: 图表类型,这里是 pie,表示饼图,其他常见类型有 bar(柱状图)、line(折线图)等。
    • radius: 饼图的半径大小,50% 表示占据容器宽度的50%。
    • data: 图表数据,包含各数据项的 value(数值)和 name(名称)。

3. 场景分析:使用 ECharts 展示数据统计

假设我们需要展示一个饼图,反映某公司不同部门的员工分布情况。我们可以通过 ECharts 来快速实现该需求,以下是代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>员工分布情况</title>
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script>
    <style>
        #chart {
            width: 100%;
            height: 400px;
        }
    </style>
</head>
<body>
    <div id="chart"></div>

    <script>
        var chart = echarts.init(document.getElementById('chart'));

        var option = {
            title: {
                text: '公司部门员工分布',
                subtext: '2025年数据',
                left: 'center'
            },
            tooltip: {
                trigger: 'item',
                formatter: '{b}: {c}人 ({d}%)'
            },
            legend: {
                orient: 'vertical',
                left: 'left',
                data: ['研发', '市场', '销售', '人力资源', '财务']
            },
            series: [
                {
                    name: '员工分布',
                    type: 'pie',
                    radius: '50%',
                    data: [
                        { value: 400, name: '研发' },
                        { value: 150, name: '市场' },
                        { value: 300, name: '销售' },
                        { value: 100, name: '人力资源' },
                        { value: 50, name: '财务' }
                    ]
                }
            ]
        };

        chart.setOption(option);
    </script>
</body>
</html>

4. 详细解释

  1. title:此图表的主标题为“公司部门员工分布”,副标题为“2025年数据”,这些都位于页面中央显示。

  2. tooltip:每次鼠标悬停在图表的不同部门上时,都会弹出该部门员工数量以及该部门占总员工数的百分比。

  3. legend:显示不同部门的图例,并放置在页面的左侧。

  4. series:这里的 typepie,表示我们使用饼图来展示员工分布,radius: '50%' 让饼图的大小为容器宽度的50%。

5. 进阶功能:自定义样式和交互

ECharts 提供了许多自定义图表样式和交互功能,可以进一步优化用户体验。例如,可以为每个部门设置不同的颜色,或者启用动画效果。

option = {
    ...option,
    color: ['#ff0000', '#00ff00', '#0000ff', '#ffff00', '#ff00ff'], // 自定义颜色
    animationType: 'expansion', // 动画效果
    series: [{
        name: '员工分布',
        type: 'pie',
        radius: '50%',
        label: {
            show: true,
            position: 'outside',
            formatter: '{b}: {c}人'
        },
        data: [
            { value: 400, name: '研发' },
            { value: 150, name: '市场' },
            { value: 300, name: '销售' },
            { value: 100, name: '人力资源' },
            { value: 50, name: '财务' }
        ]
    }]
};
  • color: 自定义每个部分的颜色。
  • label: 配置标签的显示方式,包括位置和格式。

6. 总结

ECharts 是一个功能丰富且灵活的数据可视化库,支持多种类型的图表。通过简单的配置,你可以实现复杂的交互效果和动态样式调整。了解了 ECharts 的基本配置项后,你可以根据实际需求进行定制化的开发和设计,帮助你更好地呈现数据分析结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/972476.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT行业热门应用提示词案例-AI绘画类

AI 绘画指令是一段用于指导 AI 绘画工具&#xff08;如 DALLE、Midjourney 等&#xff09;生成特定图像的文本描述。它通常包含场景、主体、风格、色彩、氛围等关键信息&#xff0c;帮助 AI 理解创作者的意图&#xff0c;从而生成符合要求的绘画作品。 ChatGPT 拥有海量的知识…

LearnOpenGL——高级OpenGL(下)

教程地址&#xff1a;简介 - LearnOpenGL CN 高级数据 原文链接&#xff1a;高级数据 - LearnOpenGL CN 在OpenGL中&#xff0c;我们长期以来一直依赖缓冲来存储数据。本节将深入探讨一些操作缓冲的高级方法。 OpenGL中的缓冲本质上是一个管理特定内存块的对象&#xff0c;它…

VScode插件EIDE - 嵌入式开发工具

Embedded IDE - 可以选开源GCC编译器&#xff0c;直接替代Keil&#xff1b;或者用Keil内置的编译器&#xff0c; - 可导入keil的工程&#xff0c;与Keil Assistant插件相比&#xff0c;优势在于可以不用打开Keil改文件架构&#xff08;增删等&#xff09; 再吐槽一下富文本编辑…

C语言进阶——6-C语言文件操作

目录 本章重点1. 为什么使用文件2. 什么是文件2.1 程序文件2.2 数据文件2.3 文件名 3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭 4. 文件的顺序读写4.1 顺序写4.2 顺序读4.3 文本行输入函数——写一行数据4.4 文本行输出函数——读一行数据4.5 格式化写入文件4.6 格式…

2025年人工智能与教育系统国际学术会议(ICAIES 2025)

重要信息 大会官网&#xff1a; www.icispp.com 大会时间&#xff1a;2025年3月14-16日 大会地点&#xff1a;中国-北京 简介 会议主题主要围绕教育创新与多媒体技术等相关研究领域展开讨论&#xff0c;旨在为相关领域的专家学者及企业发展人提供一个分享研究成果、讨论存…

使用 Certbot 自动获取和更新 Let‘s Encrypt SSL 证书

文章目录 引言一、什么是 Certbot&#xff1f;二、安装 Certbot2.1 在 Ubuntu/Debian 上安装 Certbot2.2 在 CentOS/RHEL 上安装 Certbot2.3 使用 Snap 安装 Certbot 三、获取 SSL 证书3.1 为 Nginx 获取 SSL 证书3.2 为 Apache 获取 SSL 证书3.3 手动获取 SSL 证书 四、自动更…

idea-gradle打包运行配置

最近接触了一个项目&#xff0c;使用gradle做为构建工具&#xff0c;这里记录一波&#xff0c;毕竟平时使用的都是maven idea 配置 这里有个坑&#xff0c;Gradle Wrapper&#xff0c;配置的地址gradle下载超时 这个配置修改成阿里的 第一张 第二张 第二张配置的jvm貌似没啥用…

AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南

1、立创商城下载原理图和PCB图 1.1 打开立创商城 官网:www.SZLCSC.COM 1.2 寻找所需器件 以芯片为例 器件类——>芯片类——>对应芯片 1.3 确定所需芯片 确定芯片——>数据手册 1.4 打开原理图和PCB图 1:原理图 2:PCB 3:打开 1.5 导出原理图 操作

Kubernetes:EKS 中 Istio Ingress Gateway 负载均衡器配置及常见问题解析

引言 在云原生时代&#xff0c;Kubernetes 已经成为容器编排的事实标准。AWS EKS (Elastic Kubernetes Service) 作为一项完全托管的 Kubernetes 服务&#xff0c;简化了在 AWS 上运行 Kubernetes 的复杂性。Istio 作为服务网格领域的佼佼者&#xff0c;为微服务提供了流量管理…

【CUDA 】第4章 全局内存——4.4 核函数可达到的带宽(3展开转置)【补图】

CUDA C编程笔记 第四章 全局内存4.4 核函数可达到的带宽4.4.2.3 展开转置【为每个线程分配更独立的任务】 待解决的问题&#xff1a; 第四章 全局内存 4.4 核函数可达到的带宽 4.4.2.3 展开转置【为每个线程分配更独立的任务】 展开&#xff1a;提高转置内存带宽的利用率&a…

后端重载和重写的区别

重载 相同的方法名&#xff0c;形参数量不同或者参数顺序不同或者参数类型不同称为方法重载 重写 方法名和形参列表相同 重写方法前提:必须存在继承关系 (1)方法重载是&#xff1a;一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同,则称为方法…

字节最新AI 版IDE:用Trae开发网站打包信息追踪插件,国产版Cursor表现如何?

文章首发地址&#xff1a;https://juejin.cn/post/7472684607365922850 插件背景及项目概述 在现代前端开发中&#xff0c;我们常常需要获取当前线上环境的代码构建信息&#xff0c;如项目打包人、打包时间、Git版本信息等。在持续集成/持续交付&#xff08;CI/CD&#xff09…

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 1

第01章_Linux下MySQL的安装与使用 首先在vmware中下载centos7&#xff0c;实际上8更好一点&#xff0c;不过centos已经是时代的眼泪了&#xff0c;我之前已经教过了&#xff0c;不过是忘了&#xff0c;所以重新说一遍&#xff0c;看文档即可 2.开机前修改mac地址 &#xff0…

网络工程师 (47)QOS

一、概念与原理 QOS即服务质量&#xff08;Quality of Service&#xff09;是一种网络技术&#xff0c;用于管理和保证网络中不同类型的质量和性能。它通过设置优先级和带宽限制等策略&#xff0c;确保关键应用&#xff08;如视频会议、语音通信&#xff09;的数据包能够在网络…

什么是幂等性?

一.幂等性 什么是幂等性&#xff1f; 在计算机科学和数学领域中&#xff0c;” 幂等性 “虽然源于相同的概念&#xff0c;但其应用和具体含义有所不同 在数学中&#xff1a;幂等性是一个代数性质&#xff0c;描述的是一个操作或函数在多次应用后结果不变的特性 在分布式系统…

PyCharm Terminal 自动切换至虚拟环境

PyCharm 虚拟环境配置完毕后&#xff0c;打开终端&#xff0c;没有跟随虚拟环境切换&#xff0c;如图所示&#xff1a; 此时&#xff0c;需要手动将终端切换为 Command Prompt 模式 于是&#xff0c;自动切换至虚拟环境 每次手动切换&#xff0c;比较麻烦&#xff0c;可以单…

YOLOv12从入门到入土(含结构图)

论文链接&#xff1a;https://arxiv.org/abs/2502.12524 代码链接&#xff1a;https://github.com/sunsmarterjie/yolov12 文章摘要&#xff1a; 长期以来&#xff0c;增强YOLO框架的网络架构一直至关重要&#xff0c;但一直专注于基于cnn的改进&#xff0c;尽管注意力机制在建…

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样&#xff1f; 这里描述自己在使用AI进行数据分析&#xff08;数据清洗&#xff09;过程中的几个小故事&#xff1a; 1. 变量名的翻译 有一个项目是某医生自己收集的数据&#xff0c;变量名使用的是中文&#xff0c;分…

解锁机器学习核心算法 | K-平均:揭开K-平均算法的神秘面纱

一、引言 机器学习算法种类繁多&#xff0c;它们各自有着独特的优势和应用场景。前面我们学习了线性回归算法、逻辑回归算法、决策树算法。而今天&#xff0c;我们要深入探讨的是其中一种经典且广泛应用的聚类算法 —— K - 平均算法&#xff08;K-Means Algorithm&#xff09…

Bigemap Pro如何设置经纬网出图网格设置

第一步&#xff1a;打开bigemap pro软件&#xff0c;单击顶部网格选项第二栏&#xff0c;弹出经纬网设置对话框&#xff0c;如下图&#xff1a; 按作图需求自定义设置后&#xff0c;点击应用如下图&#xff1a; 第二步&#xff1a;设置好经纬网之后&#xff0c;进行作图&#x…