Echarts可视化大屏数据详解
1、ECharts介绍
1.1、什么是ECharts
ECharts是一款由百度开发并开源的数据可视化图表库,旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发,利用 HTML5 的 Canvas 技术进行图形渲染,这使得它能够在现代浏览器中高效地展示各种类型的图表。底层依赖矢量图形库 ZRender(二维可视化库),提供直观,交互丰富,可高度个性化定制的数据可视化图表。
ECharts 的起源可以追溯到2013年,最初由百度前端技术部推出。作为开源项目,它采用了模块化的设计理念,开发者可以根据需要引入和使用各种功能模块,例如不同类型的图表、主题定制、工具箱等。
ECharts 适用于几乎所有现代主流的网页浏览器,包括但不限于以下几种:
- Google Chrome(谷歌)
- Mozilla Firefox(火狐)
- Microsoft Edge(Edge)
- Safari(苹果)
- Opera
这些浏览器对 HTML5 和 Canvas 的支持非常良好,而 ECharts 利用 HTML5 的 Canvas 技术进行图形渲染,因此能在这些浏览器上提供高效的数据可视化体验。
1.2、ECharts的特点
ECharts 的特点包括:
- 灵活性:支持丰富的图表类型和自定义配置。
- 交互性:提供良好的用户交互体验,可以实现缩放、拖拽等功能。
- 高性能:适合处理大规模数据,渲染速度快。
- 易于集成:可以与各种前端框架(如 Vue、React)无缝结合。
ECharts 被广泛应用于数据分析、商业智能、仪表盘等领域。
2、ECharts应用场景
ECharts 的应用场景非常广泛,主要包括以下几个方面:
- 数据分析和可视化:ECharts 提供了丰富的图表类型和灵活的配置选项,可以帮助用户将复杂的数据转化为直观的图表和图形,从而更好地理解和分析数据。
- 实时监控和仪表盘:由于 ECharts 支持实时更新和动态数据展示,因此在实时监控、仪表盘和数据驱动的应用中得到广泛应用,如企业运营监控、物联网设备监控等。
- BI(商业智能)应用:ECharts 可以帮助企业构建各种类型的报表和数据分析工具,支持复杂的数据呈现和交互式探索,是商业智能系统中不可或缺的一部分。
- 地理信息可视化:通过 ECharts 提供的地图功能,可以实现地理信息数据的可视化展示,包括热力图、地图标记等,适用于位置相关的数据分析和展示。
- 大屏展示和数据报告:ECharts 的高性能和良好的用户交互体验使其成为大屏展示和数据报告制作的理想工具,如会议展示、公共信息展示等场景。
总体来说,ECharts 不仅适用于网页和移动端的数据可视化需求,还可以根据具体应用场景进行定制和扩展,是开发人员和数据分析师在数据展示方面的重要选择之一
ECharts 之所以在这些领域中如此受欢迎,其优势和适用性在于以下几点:
- 丰富多样的图表类型:ECharts 支持多种图表类型,能够满足不同场合下对图表形式的需求。
- 高度定制和配置:可以通过配置项实现图表的自定义,适用于各种特殊需求和品牌一致性的要求。
- 良好的扩展性和集成性:ECharts 的设计允许用户扩展和集成到多种前端技术栈中,包括但不仅限于 React, Vue, Angular 等现代前端框架,并能够支持服务端渲染。
- 高效交互性和直观的数据探索:ECharts 支持鼠标悬停、点击、缩放、平移等交互操作,用户可以直观地探索数据背后的故事。
- 出色的性能表现:ECharts 在处理大量数据时的渲染速度和稳定性表现出色,能够适应实时数据变化的环境。
综合上述特点,ECharts 成为了许多企业和开发者进行数据可视化的首选工具之一。
3、初步了解ECharts
3.1、快速上手
3.1.1.获取 Apache ECharts
在 https://www.jsdelivr.com/package/npm/echarts 选择 dist/echarts.js,点击并保存为 echarts.js 文件。
如下:


随后ctrl+s保存文件即可
3.1.2、案列演示
步骤一:引入 ECharts 库
首先,您需要在项目中引入 ECharts 库文件。可以通过 CDN 或者下载到本地使用。

<html><head><title>ECharts入门</title><script src="echarts.js"></script></head><body></body>
</html>
步骤二:创建图表容器
在页面中创建一个容器 <div> 作为图表的显示区域,指定其宽度和高度。
<div id="chart" style="width: 600px; height: 400px;"></div>
步骤三:编写 JavaScript 代码生成图表
使用 JavaScript 编写代码来生成和配置 ECharts 图表。
<script>// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('chart'));// 指定图表的配置项和数据var option = {title: {text: '柱状图示例'},tooltip: {},xAxis: {data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']},yAxis: {},series: [{name: '销量',type: 'bar',data: [120, 200, 150, 80, 70, 110, 130]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);
</script>
示例说明
- 初始化 ECharts 实例:使用
echarts.init()方法初始化一个 ECharts 实例,传入要绑定的 DOM 元素。 - 配置项 option:这是一个 JavaScript 对象,包含了图表的各种配置项,例如标题、坐标轴、数据系列等。详细配置可以参考 ECharts 官方文档。
- 数据填充:在
series中配置具体的图表类型(例如柱状图'bar'),以及相应的数据。 - 显示图表:通过
myChart.setOption(option)将配置项应用到图表实例中,从而显示出柱状图。
3.2、相关配置项详解
基于
option = {//标题title: {text: '标题'},//提示框组件tooltip: {//触发方式trigger: 'item',//坐标轴指示器配置项axisPointer: {type: 'cross',label: {backgroundColor: 'red'}}},//图列组件 当series中存在数据的时候,data可以省略legend: {// data: ['邮箱', '阿迪达斯', 'Video Ads', 'Direct', 'Search Engine']},//工具栏toolbox: {feature: {//可下载为图片saveAsImage: {},//显示详细数据dataView:{}}},//直角坐标系内绘图网格grid: {left: '2%',right: '4%',bottom: '3%',//防止溢出containLabel: true},//直角坐标系grid的x轴xAxis: [{//类目轴type: 'category',//留白策略boundaryGap: false,data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']}],yAxis: [{type: 'value'}],series: [{name: '邮箱',//数据展示类型type: 'line',stack: 'Total',// 区域填充样式areaStyle: {color:"red"},emphasis: {// 在高亮图形时,是否淡出其它数据的图形已达到聚焦的效果focus: 'series'},data: [120, 132, 101, 134, 90, 230, 340]},{name: '阿迪达斯',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [220, 182, 191, 234, 290, 330, 310]},{name: 'Video Ads',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [150, 232, 201, 154, 190, 330, 410]},{name: 'Direct',type: 'line',stack: 'Total',areaStyle: {},emphasis: {focus: 'series'},data: [320, 332, 301, 334, 390, 330, 320]},{name: 'Search Engine',type: 'line',stack: 'Total',label: {show: true,position: 'top'},areaStyle: {},emphasis: {focus: 'series'},data: [820, 932, 901, 934, 1290, 1330, 1320]}]
};
4、Vue整合ECharts
4.1、版本兼容性
对于 Vue 2.x 版本,通常建议使用 ECharts 4.x 版本。ECharts 4.x 提供了对 Vue 2.x 的良好支持,能够无缝集成并与 Vue 组件进行交互。在使用过程中,您可以直接通过 vue-echarts 或者手动引入 ECharts 实例来与 Vue 2.x 配合使用。
如果您使用的是 Vue 3.x,可以考虑使用 ECharts 5.x 版本,它进一步优化了对 Vue 3.x 的支持,并提供了更多新特性和改进。
4.2、基础案列
当您需要在 Vue 项目中整合 ECharts(图表库)时,以下是一个基本的示例案例,展示如何在 Vue 组件中使用 ECharts 来展示数据图表。
步骤一:安装 ECharts
首先,确保您的项目已经集成了 Vue,并安装 ECharts。可以通过 npm 或 yarn 进行安装:
npm install echarts@4.2.1 -S
或者
yarn add echarts
步骤二:创建 Vue 组件
假设您已经有一个 Vue 项目,现在创建一个简单的 Vue 组件来展示 ECharts 图表。
<template><div class="dashboard"><div class="chart" ref="lineChart" style="height: 400px;"></div><div class="chart" ref="barChart" style="height: 400px;"></div><div class="chart" ref="pieChart" style="height: 400px;"></div></div>
</template><script>
import * as echarts from 'echarts';export default {mounted() {this.initLineChart();this.initBarChart();this.initPieChart();},methods: {initLineChart() {const lineChart = echarts.init(this.$refs.lineChart);const option = {title: { text: '折线图示例' },tooltip: {},legend: { data: ['销量'] },xAxis: { data: ['1月', '2月', '3月', '4月', '5月', '6月'] },yAxis: {},series: [{name: '销量',type: 'line',data: [5, 20, 36, 10, 10, 20]}]};lineChart.setOption(option);},initBarChart() {const barChart = echarts.init(this.$refs.barChart);const option = {title: { text: '柱状图示例' },tooltip: {},legend: { data: ['销售量'] },xAxis: { data: ['A', 'B', 'C', 'D', 'E', 'F'] },yAxis: {},series: [{name: '销售量',type: 'bar',data: [30, 40, 50, 60, 70, 80]}]};barChart.setOption(option);},initPieChart() {const pieChart = echarts.init(this.$refs.pieChart);const option = {title: { text: '饼图示例', subtext: '数据来源网络', left: 'center' },tooltip: { trigger: 'item' },legend: { orient: 'vertical', left: 'left' },series: [{name: '访问来源',type: 'pie',radius: '50%',data: [{ value: 335, name: '直接访问' },{ value: 310, name: '邮件营销' },{ value: 234, name: '联盟广告' },{ value: 135, name: '视频广告' },{ value: 1548, name: '搜索引擎' }]}]};pieChart.setOption(option);}}
};
</script><style scoped>
.dashboard {display: flex;flex-wrap: wrap;justify-content: space-around;
}
.chart {width: 30%;margin: 1%;
}
</style>
步骤三:解析示例
- 模板 (template): 在模板中,使用一个
<div>元素作为图表的容器,通过ref="chart"来引用这个 div。 - 脚本 (script):
- 引入 ECharts 库,并在
data中定义了一个简单的chartData对象,用于存放图表的数据。 - 在
mounted钩子中调用initChart方法,初始化 ECharts 实例并生成图表。
- 引入 ECharts 库,并在
- 方法 (methods):
initChart方法负责初始化图表,配置图表的基本信息和数据,并将图表渲染到之前定义的<div>中。
- 样式 (style): 可以根据需要添加样式来调整图表的外观和布局。
步骤四:使用示例
将上述 Vue 组件集成到您的 Vue 项目中,并根据具体需求修改图表的配置和样式。这个示例展示了一个简单的柱状图,您可以根据 ECharts 的文档进一步探索更多图表类型和配置选项,以及如何与实际数据集成。
这样,您就可以在 Vue 项目中使用 ECharts 创建和展示各种数据可视化图表了。
相关文章:
Echarts可视化大屏数据详解
1、ECharts介绍 1.1、什么是ECharts ECharts是一款由百度开发并开源的数据可视化图表库,旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发,利用 HTML5 的 Canvas 技术进行图形渲染,这使得它能够…...
Linux---文件(2)---文件描述符缓冲区(语言级)
目录 文件描述符 基础知识 文件描述符 对“Linux一切皆文件”的理解 文件描述符分配规则 缓冲区 刷新策略 存放位置 解释一个"奇怪的现象" 格式化输入输出 文件描述符 基础知识 在系统层面上,文件操作都是通过文件描述符来操作的。 程序在启…...
云计算实训39——Harbor仓库的使用、Docker-compose的编排、YAML文件
一、Harbor部署 1.验证python版本 [rootdocker2 ~]#python --version 2.安装pip [rootdocker2 ~]# yum -y install python2-pip #由于版本过低,需要对其进行一个升级 #更新pip [rootdocker2 ~]#pip install --upgrade pip 3.指定版本号 [rootdocker2 ~]# p…...
lambda表达式用法——C#学习笔记
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 实例如下: 代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.…...
【C++ Primer Plus习题】11.6
问题: 解答: main.cpp #include <iostream> #include "Stonewt.h" using namespace std; const int SIZE 6;int main() {Stonewt stone_arr[SIZE] { 253.6,Stonewt(8,0.35),Stonewt(23,0) };double input;Stonewt eleven Stonewt(11, 0.0);Stonewt max st…...
Redis八种数据结构简介
Redis数据结构 Redis新旧版本中一共出现过八种数据结构,分别是SDS、双向链表、压缩列表、整数集合、哈希表、跳表、quicklist、listpack。 SDS SDS是用于存储Redis中字符串的数据结构,Redis底层使用的语言是C语言,因此字符串也是C语言的字…...
数据治理策略:确保数据资产的安全与高效利用
数据治理策略:确保数据资产的安全与高效利用 在数字化时代,数据已成为企业最宝贵的资产之一。然而,随着数据量的爆炸性增长和数据来源的多样化,如何有效地管理和利用这些数据成为企业面临的重要挑战。数据治理策略的制定和执行&a…...
ts格式转mp4,四款亲测好用软件推荐!
在这个数字视频时代,我们经常会遇到各种视频格式兼容性问题,尤其是从网络下载的高清电影或电视剧集,很多时候都是以TS格式存储。然而,当我们想要在移动设备、社交媒体或视频编辑软件中播放、上传时,MP4格式因其广泛的兼…...
10、Django Admin修改标题
admin from django.contrib import admin from .models import Category, Origin, Hero, Villain # 添加以下代码 admin.site.site_header "系统管理" admin.site.site_title "管理员界面" admin.site.index_title "欢迎来到这里ÿ…...
ESRI ArcGIS Pro 3.1.5新功能及安装教程和下载
ESRI ArcGIS Pro 3.1.5 主要新功能包括: 改进的数据编辑和管理:支持更多数据格式和更精细的属性表操作。增强的空间分析工具:新增和优化空间分析工具,提高数据分析效率。更好的3D可视化:改进3D渲染性能,支…...
人工智能,语音识别也算一种人工智能。
现在挺晚了,还是没有去睡觉,自己在想什么呢,也不确定。 这是一篇用语音写的文章,先按自己的想法说出来,然后再适当修改,也许就是一个不错的文章。 看来以后就不需要打字了,语音识别度很高&#…...
Token和Refresh Token
获取令牌(Token) 和 刷新令牌(Refresh Token) 在认证和授权机制中有不同的使用场景和目的,二者主要的区别和为什么需要刷新令牌可以通过以下几点解释: 1. 获取令牌和刷新令牌的区别 获取令牌(Token&#x…...
STM32(一)简介
一、stm32简介 1.外设接口 通过程序配置外设来完成功能 2.系统结构 3.引脚定义 4.启动配置 5.最小系统电路...
接口测试工具:Postman详解
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性…...
Linux中全局变量配置,/etc/profile.d还是/etc/profile
全局环境变量可以放在 /etc/profile 或 /etc/profile.d/ 中,但两者的使用方式和目的有所不同: /etc/profile 作用: /etc/profile 是一个系统范围的启动脚本,在用户登录时执行。它主要用于设置全局环境变量和配置,适用于所有用户。…...
【java入门】关键字、标识符与变量初识
🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养ǹ…...
Java常用类库
Java常用类库 1. **Java基础类库**1.1 **java.lang**1.2 **java.util**1.3 **java.io**1.4 **java.nio**1.5 **java.time** 2. **第三方类库**2.1 **Apache Commons**2.2 **Google Guava**2.3 **Jackson**2.4 **Lombok** 3. **Spring相关类库**4. **并发类库**4.1 **java.util.…...
2024年高教社杯数学建模国赛C题超详细解题思路分析
本次国赛预测题目难度,选题人数如下所示 难度评估 A:B:C 1.8:1.3:1 D:E1.5:1 选题人数 A:B:C 1:1.5:2.8 D:E0.5:1.2 C题一直以来都是竞赛难度最低、选题人数最多的一道本科生选题,近三年C题的选题人数一直都是总参赛队伍的一半左右,2023年…...
深度学习(七)-计算机视觉基础
计算机视觉 计算机视觉在广义上是和图像相关的技术总称。包括图像的采集获取,图 像的压缩编码,图像的存储和传输,图像的合成,三维图像重建,图像增强,图像修复,图像的分类和识别,目…...
机器人笛卡尔空间轨迹规划原理与MATLAB实现
机器人笛卡尔空间轨迹规划是指在给定的笛卡尔坐标系(通常是三维空间坐标系)中规划机器人的末端执行器(如抓手、焊枪等)的移动路径。这种规划方式直观且易于理解,因为它直接关联到任务空间中机器人的位置和姿态。下面将…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
