当前位置: 首页 > news >正文

ECharts实现数据可视化入门详解

文章目录

  • ECharts实现数据可视化入门详解
    • 一、引言
    • 二、基础配置
      • 1.1、代码示例
    • 三、动态数据与交互
      • 2.1、代码示例
    • 四、高级用法
      • 1、多图表组合
        • 1.1、在同一容器中绘制多个图表
        • 1.2、创建多个容器并分别初始化 ECharts 实例
        • 1.3、实现多图联动
    • 五、总结

ECharts实现数据可视化入门详解

一、引言

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型和交互功能,方便开发者将数据转化为直观、可交互的图表形式。本篇博客将详细介绍如何使用 ECharts 进行数据可视化的入门操作,包括基础配置、动态数据与交互以及高级用法。
在这里插入图片描述

二、基础配置

ECharts 的配置项非常丰富,以下是一些常用的配置项:

  • title:图表标题。
  • tooltip:提示框组件。
  • legend:图例组件。
  • xAxis/yAxis:坐标轴配置。
  • series:系列列表,每个系列通过 type 决定图表类型。

1.1、代码示例

下面是一个简单的 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><style>.box{width: 600px;height: 400px;background-color: rgb(188, 227, 236);}</style>
</head>
<body><div class="box"></div><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script><script>var myChart = echarts.init(document.querySelector(".box"));var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data:['销量']},xAxis: {data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};myChart.setOption(option);</script>
</body>
</html>

三、动态数据与交互

ECharts 不仅支持静态数据展示,还可以实现动态数据更新和交互操作。通过 setOption 方法更新配置项,可以实现数据的动态更新。同时,ECharts 提供了丰富的交互功能,如数据缩放、工具箱等。

2.1、代码示例

下面是一个动态更新数据的 ECharts 示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>动态数据更新示例</title><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><div id="container" style="width: 600px;height:400px;"></div><script type="text/javascript">var myChart = echarts.init(document.getElementById('container'));var option = {// ... 基础配置项};myChart.setOption(option);// 模拟动态数据更新setInterval(function () {var data = option.series[0].data;data.shift();data.push(Math.round(Math.random() * 100));myChart.setOption({series: [{data: data}]});}, 2000);</script>
</body>
</html>

四、高级用法

1、多图表组合

ECharts 支持在同一个页面中展示多个图表,实现复杂的数据可视化效果。这可以通过以下几种方式实现:

1.1、在同一容器中绘制多个图表

我们可以在一个容器中使用 ECharts 的 grid 配置项来布局多个图表。这种方式适用于需要在有限空间内展示多个相关图表的场景。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>多图表组合示例</title><style>.chart {width: 1500px;}</style>
</head>
<body><div id="app"><div id="main" class="chart"></div></div><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script><script type="text/javascript">var myChart = echarts.init(document.getElementById("main"));var option = {// 配置多个图表的 grid 布局grid: [{ left: '10%', top: '10%', width: '40%', height: '30%' },{ right: '10%', top: '10%', width: '40%', height: '30%' },{ left: '10%', top: '50%', width: '40%', height: '30%' },{ right: '10%', top: '50%', width: '40%', height: '30%' }],// 配置多个图表的标题、工具箱等title: [{ text: '图表1', left: '15%', top: '10%' },{ text: '图表2', right: '15%', top: '10%' },{ text: '图表3', left: '15%', top: '50%' },{ text: '图表4', right: '15%', top: '50%' }],// 其他配置项...};myChart.setOption(option);</script>
</body>
</html>
1.2、创建多个容器并分别初始化 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><style>.chart {width: 600px;height: 400px;margin: 10px;}</style>
</head>
<body><div id="chart1" class="chart"></div><div id="chart2" class="chart"></div><div id="chart3" class="chart"></div><div id="chart4" class="chart"></div><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script><script type="text/javascript">var chart1 = echarts.init(document.getElementById('chart1'));var chart2 = echarts.init(document.getElementById('chart2'));var chart3 = echarts.init(document.getElementById('chart3'));var chart4 = echarts.init(document.getElementById('chart4'));// 为每个图表设置不同的配置项和数据chart1.setOption(option1);chart2.setOption(option2);chart3.setOption(option3);chart4.setOption(option4);</script>
</body>
</html>
1.3、实现多图联动

ECharts 还支持多图联动,即一个图表的变化能够实时反映到其他图表中。这可以通过 echarts.connect 方法实现。

// 假设 chart1, chart2 是两个已经初始化的 ECharts 实例
echarts.connect([chart1, chart2]);

通过上述方法,我们可以在同一个页面中灵活地展示多个图表,并实现它们之间的联动和交互。这种方式极大地增强了数据可视化的灵活性和表现力。

五、总结

ECharts 是一个功能强大的数据可视化工具,通过简单的配置和代码示例,我们可以快速入门并实现基本的数据可视化需求。随着对 ECharts 更深入的学习和实践,我们可以探索更多的图表类型和交互功能,以满足更复杂的业务场景。


版权声明:本博客内容为原创,转载请保留原文链接及作者信息。

参考文章

  • ECharts 教程 | 菜鸟教程
  • ECharts实现数据可视化入门详解_echarts详细教程-CSDN博客

相关文章:

ECharts实现数据可视化入门详解

文章目录 ECharts实现数据可视化入门详解一、引言二、基础配置1.1、代码示例 三、动态数据与交互2.1、代码示例 四、高级用法1、多图表组合1.1、在同一容器中绘制多个图表1.2、创建多个容器并分别初始化 ECharts 实例1.3、实现多图联动 五、总结 ECharts实现数据可视化入门详解…...

C++(举例说明类的实例化方式)

太多的信息会让你抓不住重点&#xff0c;下面通过间短的举例说明了类的几种实例化方式&#xff0c;熟悉以后再阅读代码的时候就能减少疑惑。 1.直接实例化&#xff1a;使用类名直接实例化对象 MyClass obj; 2.使用 new 关键字动态分配内存&#xff1a;使用 new 关键字来在堆上…...

LeetCode32. 最长有效括号(2024冬季每日一题 32)

给你一个只包含 ( 和 ) 的字符串&#xff0c;找出最长有效&#xff08;格式正确且连续&#xff09;括号子串的长度。 示例 1&#xff1a; 输入&#xff1a;s “(()” 输出&#xff1a;2 解释&#xff1a;最长有效括号子串是 “()” 示例 2&#xff1a; 输入&#xff1a;s “…...

Textfocals ——基于大言模型的用户驱动型文本改进工具让用户在审阅自己的写作时对其进行修改

概述 论文地址&#xff1a;https://arxiv.org/abs/2403.01055 大规模语言模型可以生成媲美专业作家撰写的文本。目前使用的对话技术主要有两种&#xff1a;一种是交互式&#xff08;如 OpenAI 的 ChatGPT 和 Google 的 Gemini&#xff09;&#xff0c;另一种是预测性文本补全&…...

docker 部署 redis

docker 部署 redis 1. 下载 redis 镜像 # docker images | grep redis bitnami/redis 7.2.4-debian-11-r5 45de196aef7e 10 months ago 95.2MB2. docker-compose 部署 version: "3" services:redis:image: bitnami/redis:7.2.4-debian-11-…...

微信小程序横屏页面跳转后,自定义navbar样式跑了?

文章目录 问题原因&#xff1a;解决方案&#xff1a; 今天刚遇到的问题&#xff0c;横屏的页面完成操作后跳转页面后&#xff0c;自定义的tabbar样式乱了&#xff0c;跑到最顶了&#xff0c;真机调试后发现navbar跑到手机状态栏了&#xff0c;它正常应该跟右边胶囊一行。 知道问…...

回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出

回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出 文章目录 回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出预测效果基本介绍程序设计参考资料致谢预测效果 基本介绍 BiGRU(双向门控循环单元)多输入单输出模型是一种结合了双向门控循环单元(BiGRU)的…...

智能时代的基石:神经网络

智能时代的基石&#xff1a;神经网络 第一节&#xff1a;神经网络简介 课程目标 本节课程旨在全面介绍神经网络的基本概念、结构以及其在历史发展中的重要里程碑。通过深入理解神经网络的工作原理和演变过程&#xff0c;学员将能够掌握神经网络在现实世界中的多种应用&#…...

红与黑,,

有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻&#xff08;上下左右四个方向&#xff09;的黑色瓷砖移动。 请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷砖。 输入格式 输入包…...

嵌入式驱动开发详解16(音频驱动开发)

文章目录 前言WM8960简介I2S协议接口说明 SAI音频接口简介驱动框架简介设备树配置内核使能声卡设置与测试 后续参考文献 前言 该专栏主要是讲解嵌入式相关的驱动开发&#xff0c;但是由于ALSA驱动框架过于复杂&#xff0c;实现音频编解码芯片的驱动不是一个人能完成的&#xf…...

【嵌入式软件】跑开发板的前置服务配置

在嵌入式开发中,通常需要在 开发板和主机之间共享、传输和挂载文件。 这篇文章是关于如何在 Ubuntu 中配置 Samba、TFTP 和 NFS 协议的详细步骤。这些协议分别用于远程文件共享、文件传输和内核挂载文件系统。 如何安装协议: 参考:ubuntu18配置:详细的内容我手写了一份文档。…...

如何高效实现进程间通信

实现进程间通信&#xff08;IPC&#xff09;有多种高效的方法&#xff0c;以下是一些常见的技术及其简要说明&#xff1a; 1. 共享内存&#xff1a; 共享内存是一种高效的进程间通信机制&#xff0c;允许多个进程共享同一块内存区域以实现快速的数据交换。与其他IPC机制相比&a…...

scala基础学习_变量

文章目录 scala中的变量常量 val&#xff08;不可变变量&#xff09;变量 var变量声明多变量声明匿名变量 _ 声明 变量类型声明变量命名规范 scala中的变量 常量 val&#xff08;不可变变量&#xff09; 使用val关键字声明变量是不可变的&#xff0c;一旦赋值后不能被修改 对…...

Java 身份证校验工具类(15位校验、18位校验与15转18)

文章目录 身份证简介&#xff08;一&#xff09;身份证号码的组成&#xff08;二&#xff09;一代和二代身份证一代身份证二代身份证 检验思路分析&#xff08;一&#xff09;15位身份证号码&#xff08;二&#xff09;18位身份证号码&#xff08;三&#xff09;校验算法示例&a…...

HTML+CSS+Vue3的静态网页,免费开源,可当作作业使用

拿走请吱一声&#xff0c;点个关注吧&#xff0c;代码如下&#xff0c;网页有移动端适配 HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(8)

1.问题描述&#xff1a; 在AGC中&#xff0c;推送服务的消息回执新建成功后&#xff0c;有一个有效期 1&#xff0c;这个有效期是什么意思&#xff0c;过期后&#xff0c;会影响什么呢&#xff1f; 2&#xff0c;这个有效期是否可以修改成一直不过期&#xff1f; 解决方案&…...

HCIA-Access V2.5_2_2_2网络通信基础_IP编址与路由

网络层数据封装 首先IP地址封装在网络层&#xff0c;它用于标识一台网络设备&#xff0c;其中IP地址分为两个部分&#xff0c;网络地址和主机地址&#xff0c;通过我们采用点分十进制的形式进行表示。 IP地址分类 对IP地址而言&#xff0c;它细分为五类&#xff0c;A,B,C,D,E,…...

音频客观测评方法PESQ

一、简介 语音质量感知评估&#xff08;Perceptual Evaluation of Speech Quality&#xff09;是一系列的标准&#xff0c;包括一种用于自动评估电话系统用户所体验到的语音质量的测试方法。该标准于2001年被确定为ITU-T P.862建议书[1]。PESQ被电话制造商、网络设备供应商和电…...

前后端分离的项目使用nginx 解决 Invalid CORS request

我是这样打算的&#xff0c;前端用nginx代理&#xff0c;使用80 转443 端口走https 前端的地址就是http://yumbo.top 或https://yumbo.top 后端服务地址是&#xff1a;http://yumbo.top:8081 下面是我的完整配置&#xff0c;功能是正常的&#xff0c;加了注释 user nginx; …...

回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测

回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测 目录 回归预测 | MATLAB实现SVM-Adaboost集成学习结合支持向量机多输入单输出回归预测基本介绍程序设计基本介绍 SVM-Adaboost集成学习是一种将支持向量机(SVM)与AdaBoost算法相结合的集成学习…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...