认识 ECharts

news2024/9/24 5:52:17

文章目录

  • 前言
  • 知识点
    • 什么是 ECharts
    • 获取 ECharts 的方式
    • 从 CDN 获取
    • ECharts 初体验


前言

ECharts 是一个使用 JavaScript 实现的开源可视化库。它可以在 PC 端和移动设备上运行,目前兼容的浏览器有 IE8/9/10/11,Chrome,Firefox,Safari 等,其底层依赖于矢量图形库 ZRender,为开发者提供了直观,交互丰富,可高度个性化定制的数据可视化图表。
事不宜迟,那我们快快走进实验来认识一下这个新朋友吧!👻

知识点

  • 什么是 ECharts
  • 获取 ECharts 的方式
  • 从 CDN 获取
  • ECharts 初体验

什么是 ECharts

在没有 ECharts 的年代,对于公司业务的图表需求是用 flash 去实现的,当时的前端工程师并不负责做图表,而是由专门做表的同事来完成,这就造成了大量的沟通成本,因为在数据接口的设计上,前端工程师需要和做图表的同事进行沟通。

基于这样的问题,百度团队在 2012 年 8 月立项,开发一款数据可视化工具,所以 ECharts 的诞生最初是为了满足公司的各种业务报表的需求。

在 2013 年 6 月,ECharts 发布了 1.0 版本随着不断地迭代更新
在这里插入图片描述
ECharts 提供了常规的折线图、柱状图、散点图、饼图等,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

除了已经内置的包含了丰富功能的图表,ECharts 还提供了自定义系列,只需要传入一个 renderItem 函数,就可以从数据映射到任何你想要的图形,更棒的是这些都还能和已有的交互组件结合使用而不需要操心其它事情。

在官网上还为大家提供了许多不同类型的可视化图表以及炫酷的数据可视化示例,如下所示。
在这里插入图片描述

最有益于大家的地方是它提供了简单的操作、直观的结构、内置的数据源。你能够轻松的找到你想要的图表然后修改它,以此做出一个成品。

比如,下图所示这种一周的收入和支出比例表,不管是修改数据和还是切换主题都非常简单。
在这里插入图片描述

总之,ECharts 好处多多,主要有以下六种特性:

  • 丰富的图表类型。
  • 专业的数据分析。
  • 健康的开源社区。
  • 强劲的渲染引擎。
  • 优雅的可视化设计。
  • 友好的无障碍访问。

获取 ECharts 的方式

我们想要使用 ECharts,毫无疑问,肯定是要先获取它吧~
那么我们去哪里获取呢?
请添加图片描述

在官方文档中,为我们提供了四种 ECharts 安装方式。

  • 从 GitHub 获取
  • 从 npm 获取
  • 从 CDN 获取
  • 在线定制

从 CDN 获取

首先,我们需要在 https://www.jsdelivr.com/package/npm/echarts 选择 dist/echarts.js,点击保存为 echarts.js 文件。
为了方便大家学习,我已经下载好了该文件,大家可以通过命令行进行下载。打开线上环境,在终端输入以下命令:

wget https://labfile.oss.aliyuncs.com/courses/5788/echarts.js

然后,新建一个 index.html 文件,在文件中引入 echarts.js。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="echarts.js"></script>
    <title>ECharts 快速上手</title>
  </head>
  <body></body>
</html>

到这里 ECharts 就引入成功了。
那么下面我们基于上面搭建好的环境来体验一下 ECharts 吧!

ECharts 初体验

绘制之前我们需要定义一个具有宽高的 DOM 容器,在 index.html 文件中写入以下内容。

...
<body>
  <!-- 为 ECharts 准备一个宽为 600px,高为 400px 的 DOM -->
  <div id="main" style="width: 600px;height:400px;"></div>
</body>
...

然后,通过 echarts.init 方法初始化一个 echarts 实例,并通过 setOption 方法生成一个简单的折线图。
在 index.html 文件中写入内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="echarts.js"></script>
    <title>ECharts 快速上手</title>
  </head>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    #main {
      margin: 20px;
      background-color: rgb(228, 255, 192);
    }
  </style>
  <body>
    <!-- 为 ECharts 准备一个宽为 600px,高为 400px 的 DOM -->
    <div id="main" style="width:600px;height:400px;"></div>
  </body>

  <script>
    var chartDom = document.getElementById("main");
    // 初始化实例对象 echarts.init(dom) 容器;
    var myChart = echarts.init(chartDom);
    // 指定配置项和数据
    var option = {
      xAxis: {
        type: "category",
        data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
      },
      yAxis: {
        type: "value",
      },
      series: [
        {
          data: [150, 230, 224, 218, 135, 147, 260],
          type: "line",
        },
      ],
    };
    // 将配置项设置给 echarts 实例对象。
    myChart.setOption(option);
  </script>
</html>

在这里插入图片描述

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

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

相关文章

数组(三)-- LeetCode[370][1109][1094] 区间加法

1 区间加法 1.1 题目描述 1.2 求解思路 常规的思路很容易&#xff0c;给区间 nums[i: j] 加上 val&#xff0c;那就⼀个 for 循环给它们都加上呗&#xff0c;但这种思路的时间复杂度是 O(N)O(N)O(N)&#xff0c;由于这个场景下对 nums 的修改⾮常频繁&#xff0c;所以效率会很…

【Redis】常见命令介绍(二)

&#x1f697;Redis学习第二站~ &#x1f6a9;起始站&#xff1a;【Redis】概述&环境搭建(一) &#x1f6a9;本文已收录至专栏&#xff1a;数据库学习之旅 &#x1f44d;希望您能有所收获 一.概述 Redis是典型的key-value数据库&#xff0c;key一般是字符串&#xff0c;而…

电子科技大学软件工程期末复习笔记(八):软件维护

目录 前言 重点一览 软件维护的定义 四种类型的维护 软件维护的必要性 软件维护的成本 软件维护的困难性 可维护性的定义 决定软件可维护性的因素 软件维护的过程模型 维护费用估算 软件再工程 软件逆向工程 本章小结 前言 本复习笔记基于王玉林老师的课堂PPT与…

微信小程序开发【贰】

随手拍拍&#x1f481;‍♂️&#x1f4f7; 日期: 2023.01.28 地点: 台州 介绍: 吃完午饭后走在门前的步行道上&#xff0c;恰逢疫情高峰&#xff0c;整条步行道上只有我一个人&#xff0c;旁边的河面上时而掠过几只水鸟&#xff0c;试图打破这宁静的画面。墙上的涂鸦见证了疫情…

华为OD机试题,用 Java 解【人数最多的站点】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

华为OD机试题,用 Java 解【最小传递延迟】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

Java-扑克牌的创建以及发放

Java-扑克牌的创建以及发放题目&#xff1a;创建一个扑克牌(不需要包含大小王)&#xff0c;分别分发给3个人&#xff0c;一个人发5张牌&#xff0c;输出结果要求包含全套牌(52张牌)&#xff0c;以及3个人各自的牌的花色以及数字。1.扑克牌的源代码2.扑克牌运行结果3.扑克牌代码…

一种多场景通用备份容灾方案

导购链路中&#xff0c;因为业务对SLA的要求和下游无法保持一致&#xff0c;导致很多业务场景需要使用备份容灾。如当业务依赖的下游偶现异常或者超时的情况&#xff0c;在下游无法提供强依赖的数据时&#xff0c;为保证不空窗且当前业务对数据实时性要求不高时&#xff0c;可以…

【数据结构】单链表的C语言实现--万字详解介绍

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1.链表1.1 链表的概念…

基于MSAM-YOLOv5的内河航道船舶识别方法

摘 要 针对内河航道上无人船识别目标时受背景复杂性和分布多样性影响而存在漏检的问题&#xff0c;提出了一种基于YOLOv5(you only look once)的算法。首先&#xff0c;提出了一种注意力模块MSAM(multiscale attention module&#xff0c;多尺度注意力模块)&#xff0c;MSA…

【新型密集采样网络:遥感超分】

Remote Sensing Image Super-Resolution Using Novel Dense-Sampling Networks &#xff08;基于新型密集采样网络的遥感图像超分辨率&#xff09; 超分辨率技术在提高遥感数据的空间分辨率、克服星载成像系统的物理限制等方面发挥着重要作用。基于卷积神经网络&#xff08;C…

可视化技术第一节课

主要内容通过echarts实现在网页上显示图表实现不同类型图表的转换实际操作&#xff08;1&#xff09;安装echarts如果想要安装echarts可以参考&#xff1a;安装步骤当然我们可以直接在我们的代码里面添加连接直接引用<script src"http://cdn.bootcss.com/echarts/4.8.0…

buu [BJDCTF2020]rsa_output 1 SameMod 1

[BJDCTF2020]rsa_output 1&#xff1a; 题目描述&#xff1a; {210583393373542878475341075446136053050154410905089240941988166912191033995268001128024163830889952539088574602667269256158268953033778016148293640346244751958599979431463055883159391307774504851…

2.27日报

情报上传接口添加字段&#xff1a;问题分配 调试手机号登录接口 解决困惑已久的bug&#xff1a;解析不到token; 问题描述&#xff1a; 在局域网下&#xff0c;前端页面请求时在请求头里携带token信息&#xff0c;后台获取不到header里的token参数&#xff0c;但是使用postma…

阶段八:服务框架高级(第六章:ElasticSearch3)

阶段八&#xff1a;服务框架高级&#xff08;第六章&#xff1a;ElasticSearch3&#xff09;Day-第六章&#xff1a;ElasticSearch分布式搜索引擎30.学习目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法&#xff08;桶聚合&#xff09;1.2.2.聚合结果排序1.2…

软件测试面试题 —— 整理与解析(2)

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;&#x1f30e;【Austin_zhai】&#x1f30f; &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xf…

python学生信息管理系统

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;python学生信息 免费获取完整源码源文件配置教程说明等 在IDLE中运行《学生信息管理系统》即可进入如图1所示的系统主界面。在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时&#xff0c;有两种方…

SpringBoot2入门 第一个HelloWorld(参考尚硅谷SpringBoot2零基础入门教程)

文章目录0 官方文档1 系统要求2 maven设置3 HelloWorld3.0 需求3.1 创建Maven工程3.2 引入依赖3.3 创建主程序3.4 编写业务3.5 测试3.6 简化配置3.7 简化部署0 官方文档 https://docs.spring.io/spring-boot/docs/2.3.4.RELEASE/reference/html/index.html 1 系统要求 想要运…

RFS自动化测试工具安装与使用总结

一&#xff0c;调试 1&#xff0c;在调试时&#xff0c;总时提示“无法打开浏览器” 解决办法&#xff1a; 1&#xff0c;把浏览器的代理关闭 2&#xff0c;把浏览器的显示比例调到100% 3&#xff0c;在IE设置的安全选项中&#xff0c;把启用保护模式开启 4&#xff0c;去除进…

layui框架学习(12:进度条)

进度条是应用系统中的常见元素&#xff0c;无论是上传文件、下载文件、加载内容时都会显示进度条&#xff0c;Layui支持设置线条形进度条的样式&#xff0c;同时支持通过element模块动态操作进度条。   进度条样式分为两级结构&#xff0c;顶层一般为div元素&#xff0c;其cl…