Echarts可视化大屏数据详解

news2024/9/28 7:21:37

1、ECharts介绍

1.1、什么是ECharts

ECharts是一款由百度开发并开源的数据可视化图表库,旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发,利用 HTML5 的 Canvas 技术进行图形渲染,这使得它能够在现代浏览器中高效地展示各种类型的图表。底层依赖矢量图形库 ZRender(二维可视化库),提供直观,交互丰富,可高度个性化定制的数据可视化图表。

ECharts 的起源可以追溯到2013年,最初由百度前端技术部推出。作为开源项目,它采用了模块化的设计理念,开发者可以根据需要引入和使用各种功能模块,例如不同类型的图表、主题定制、工具箱等。

ECharts 适用于几乎所有现代主流的网页浏览器,包括但不限于以下几种:

  1. Google Chrome(谷歌)
  2. Mozilla Firefox(火狐)
  3. Microsoft Edge(Edge)
  4. Safari(苹果)
  5. Opera

这些浏览器对 HTML5 和 Canvas 的支持非常良好,而 ECharts 利用 HTML5 的 Canvas 技术进行图形渲染,因此能在这些浏览器上提供高效的数据可视化体验。

1.2、ECharts的特点

ECharts 的特点包括:

  1. 灵活性:支持丰富的图表类型和自定义配置。
  2. 交互性:提供良好的用户交互体验,可以实现缩放、拖拽等功能。
  3. 高性能:适合处理大规模数据,渲染速度快。
  4. 易于集成:可以与各种前端框架(如 Vue、React)无缝结合。

ECharts 被广泛应用于数据分析、商业智能、仪表盘等领域。

2、ECharts应用场景

ECharts 的应用场景非常广泛,主要包括以下几个方面:

  1. 数据分析和可视化:ECharts 提供了丰富的图表类型和灵活的配置选项,可以帮助用户将复杂的数据转化为直观的图表和图形,从而更好地理解和分析数据。
  2. 实时监控和仪表盘:由于 ECharts 支持实时更新和动态数据展示,因此在实时监控、仪表盘和数据驱动的应用中得到广泛应用,如企业运营监控、物联网设备监控等。
  3. BI(商业智能)应用:ECharts 可以帮助企业构建各种类型的报表和数据分析工具,支持复杂的数据呈现和交互式探索,是商业智能系统中不可或缺的一部分。
  4. 地理信息可视化:通过 ECharts 提供的地图功能,可以实现地理信息数据的可视化展示,包括热力图、地图标记等,适用于位置相关的数据分析和展示。
  5. 大屏展示和数据报告: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 实例并生成图表。
  • 方法 (methods):
    • initChart 方法负责初始化图表,配置图表的基本信息和数据,并将图表渲染到之前定义的 <div> 中。
  • 样式 (style): 可以根据需要添加样式来调整图表的外观和布局。

步骤四:使用示例

将上述 Vue 组件集成到您的 Vue 项目中,并根据具体需求修改图表的配置和样式。这个示例展示了一个简单的柱状图,您可以根据 ECharts 的文档进一步探索更多图表类型和配置选项,以及如何与实际数据集成。

这样,您就可以在 Vue 项目中使用 ECharts 创建和展示各种数据可视化图表了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

精密五金零配件加工的核心技术解析

在现代制造业中&#xff0c;精密五金零配件起着至关重要的作用。从电子产品到机械设备&#xff0c;从汽车制造到航空航天&#xff0c;都离不开高精度的五金零配件。而要实现精密五金零配件的加工&#xff0c;需要掌握一系列核心技术。时利和与大家一同解析精密五金零配件加工的…

Flutter之修改App的图标、名称

一、修改App名称 Android 路径&#xff1a;android/app/src/main/AndroidManifest.xml, 找到 android:label”string/app_name”。点击Ctrl鼠标左键转到string.xml 修改名称&#xff1a; <resources><string name"app_name">你的APP名称</string>…

如何使 div 居中?CSS 居中终极指南

前言 长期以来&#xff0c;如何在父元素中居中对齐一个元素&#xff0c;一直是一个让人头疼的问题&#xff0c;随着 CSS 的发展&#xff0c;越来越多的工具可以用来解决这个难题&#xff0c;五花八门的招式一大堆&#xff0c;这篇博客&#xff0c;旨在帮助你理解不同的居中方法…

获取navicat已保存数据库连接的密码

打开connections.ncx&#xff0c;可以看到Passwordxxx,这是加密后的密码 解密 在线的运行工具https://tool.lu/coderunner 运行如下代码&#xff0c;代码中的密码改成你的密码&#xff0c;在倒数第二行位置 <?phpnamespace FatSmallTools;class NavicatPassword{protected…

基础数据结构之双向链表

目录 基础定义 节点的定义 节点的初始化 创建双链表 1.前插法 2.尾插法 双向链表的遍历输出 指定位置插入 双向链表的按位取值 任意位置删除 双向链表销毁 主程序入口​​​​​​​ 基础定义 所谓的双向链表就是单向链表多了一个前驱指针。双向链表是由一个个结点组成每个结点…

【LLM】大模型基础--大规模预训练语言模型的开源教程笔记

1.引言 本文以DataWhale大模型开源教程为学习路线&#xff0c;进行一整个大模型的入门操作 什么是语言模型 语言模型是一种对词元序列&#xff08;token&#xff09;的概率分布&#xff0c;可以用于评估文本序列的合理性并生成新的文本。 从生成文本的方式来看&#xff0c;…

【C++ Primer Plus习题】10.4

问题: 解答: main.cpp #include <iostream> #include "sales.h" using namespace std; using namespace SALES;int main() {Sales s1;double de[QUARTERS] { 12.1,32.1,42.1,51.1 };Sales s2(de, QUARTERS);s1.showSales();s2.showSales();return 0; }sales.…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

C#使用MQTT(一):MQTT服务端

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09; 即时通讯协议&#xff0c; 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状…

将RK3588平台的TMC等USB function驱动挪出内核源码树

背景 前一段时间定位一个上位机通过USB-TMC连接下位机&#xff08;基于RK3588平台&#xff09;时界面发生卡顿的问题&#xff0c;发现USB-TMC驱动代码是放在内核源码树里跟内核一起编译的&#xff0c;觉着这样既不便于更换TMC 驱动版本&#xff08;每次修改代码都要重编内核&a…

2024年【广西安全员C证】考试题及广西安全员C证考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广西安全员C证考试题是安全生产模拟考试一点通生成的&#xff0c;广西安全员C证证模拟考试题库是根据广西安全员C证最新版教材汇编出广西安全员C证仿真模拟考试。2024年【广西安全员C证】考试题及广西安全员C证考试技…

AI电商产品一键换高清背景,就是这么简单(comfyui)

comfyui电商产品换背景工作流 工作流作者&#xff1a;Aki Hung c 工作流我放在了文末&#xff0c;需要的朋友自取&#xff01; 这里给大家准备好了一份详细的ComfyUI资料和安装包&#xff0c;扫描下方二维码即可获取&#xff01; 大家好&#xff0c;我是你们的老朋友&#xf…

10.4 网际层协议

网际层协议 真题

YashanDB产品调优实战:分享日常调优技巧及提升系统性能的实战经验

本文旨在提供一系列关于YashanDB产品的调优技巧和实战经验&#xff0c;帮助读者更好地理解和应用这些技术来优化数据库性能。内容将涵盖索引优化、查询优化、内存管理、参数配置&#xff0c;以及性能监控等多个方面&#xff0c;通过实际案例和详细的分析&#xff0c;展示如何有…

程序员学python的七大就业方向!

Python作为一种多功能的编程语言&#xff0c;其就业方向广泛且前景乐观。以下是Python的七大就业方向&#xff1a; Web开发&#xff1a; Python在Web开发领域具有重要地位&#xff0c;拥有Flask、Django等优秀的Web开发框架&#xff0c;可以快速搭建网站和Web应用。这些框架不仅…

【Redis】缓存击穿、缓存穿透、缓存雪崩原理以及多种解决方案

一、前言 在 Spring Cloud 微服务集群项目中&#xff0c;客户端的请求首先会经过 Nginx&#xff0c;Nginx 会将请求反向代理到 Gateway 网关层&#xff0c;接着才会将请求发送到具体的服务 service。 在 service 中如果要查询数据&#xff0c;则会到缓存中查询&#xff0c;如…

COT思维链,TOT思维树,GOT思维图,这些都是什么?

1. 导入 hallucinations 1. 什么是幻觉&#xff1f; 大模型出现幻觉&#xff0c;简而言之就是“胡说八道”。 用《A Survey on Hallucination in Large Language Models》文中的话来讲&#xff0c;是指模型生成的内容与现实世界事实或用户输入不一致的现象。 研究人员将大模型…

基于精益六西格玛管理方法进行生产线综合改善

生产线精益六西格玛改善是一个系统工程&#xff0c;只有对其进行系统的策划与组织&#xff0c;才能收到良好的改善效果。一般来说&#xff0c;需要成立一个专门的精益六西格玛推进组织&#xff0c;由其完成一系列的组织、准备工作。具体如下&#xff1a; &#xff08;1&#xf…

AutosarMCAL开发——基于EB FlsLoader驱动

目录 1.FlsLoader原理2.EB配置以及接口应用3.总结 1.FlsLoader原理 FlsLoader模块提供对Dflash bank0以及整个Pflash的操作。Dflash数据存储器Pflash程序储存器&#xff0c;因此在实际运用中 2.EB配置以及接口应用 EB配置步骤 1.取消安全检查&#xff0c;其他所有配置保持默…

《物流工程与管理》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《物流工程与管理》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《物流工程与管理》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a; 全国商品养护科技情报中心站 …