ECharts实现数据可视化入门教程(超详细)

  • ECharts介绍
  • ECharts入门教程
    • 第一步:下载并引入scharts.js文件
    • 第二步:编写代码
      • 目录结构
      • 编写index.html代码
      • 效果展示
  • ECharts的基础配置
    • 主要配置(常用的)
    • 案例讲解
  • 补充
    • 示例链接
    • 立即执行函数
    • 让图表跟随屏幕自适应

ECharts介绍

官网链接:Apache ECharts

ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

通俗的理解:

  • 是一个JS插件
  • 性能好可流畅运行PC与移动设备
  • 兼容主流浏览器
  • 提供很多常用图表【折线图、柱状图、散点图、饼图、K线图】,且可定制(支持自定义)

ECharts入门教程

官方教程:5 分钟上手 ECharts

第一步:下载并引入scharts.js文件

获取 ECharts:下载地址

1、点击Dist跳转到Github。

2、点击点进去

3、右键单击Raw,选择链接另存为

4、这样我们就得到了需要的文件

简单粗暴的方式:
当上面的第一步后第二步直接点击code然后下载压缩包,简单直接,再在里面找到我们需要的文件即可。


打开压缩包,找到需要的文件引入到我们项目的js文件夹即可

第二步:编写代码

目录结构

编写index.html代码

根据上面的步骤2至步骤5编写代码。

index.html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document01</title><style>.box{width: 300px;height: 300px;background-color: rgb(188, 227, 236);}</style>
</head>
<body><!-- 2.准备具有大小的DOM容器 --><div class="box"></div><script src="js/echarts.min.js"></script><script>//3.初始化实例对象 echarts.init(dom容器)var myChart = echarts.init(document.querySelector(".box"));//4.指定配置项和数据var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data:['销量']},xAxis: {data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};//5.将配置项设置给echarts实例对象,使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script>
</body>
</html>

效果展示

ECharts的基础配置

在官网给出了我们许多示例:链接

我们都可以直接拿来用,但是里面的一些配置我们可以根据自己的需求来修改,所以我们需要了解ECharts的基础配置。

主要配置(常用的)

官网配置项参考文档:地址

需要了解的主要配置:series xAxis yAxis grid tooltip title legend color

  • series
    系列列表。每个系列通过 type 决定自己的图表类型
    通俗的理解:图标数据,指定什么类型的图标,可以多个图表重叠。

  • xAxis:直角坐标系 grid 中的 x 轴

    boundaryGap: 坐标轴两边留白策略 true,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间。

  • yAxis:直角坐标系 grid 中的 y 轴

  • grid:直角坐标系内绘图网格。

  • title:标题组件

  • tooltip:提示框组件

  • legend:图例组件

  • color:调色盘颜色列表

  • stack:数据堆叠,同个类目轴上系列配置相同的stack值后 后一个系列的值会在前一个系列的值上相加。

关于更多的配置项参考官方文档,十分具体。

案例讲解

接下来,通过修改官方示例中的例子折线图堆叠,来熟悉配置项。

修改前的样式:

修改后的代码:

option = {//设置线条的颜色,后面是个数组color:['pink','red','green','blue','gray'],//设置图表标题title: {text: '折线图堆叠1233标题'},//图表的提示框组件tooltip: {//触发方式 - 坐标轴trigger: 'axis'},//图例组件legend: {//series有name了,这里的data可以删除掉data: ['邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎']},//网格配置 grid可以控制线形图 柱状图 图标大小grid: {left: '3%',right: '4%',bottom: '3%',//是否显示刻度标签containLabel: true},//工具箱组件,可以另存为图片等功能toolbox: {feature: {saveAsImage: {}}},//设置x轴的相关配置xAxis: {type: 'category',//线条和y轴是否有缝隙boundaryGap: false,data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']},//设置y轴的相关配置yAxis: {type: 'value'},//系列图表配置,决定显示那种类型的图表series: [{name: '邮件营销',type: 'line',//总量,后面的会堆叠前面的累加起来,删除掉就会折叠了,一般不需要//stack: '总量',data: [120, 132, 101, 134, 90, 230, 210]},{name: '联盟广告',type: 'line',//stack: '总量',data: [220, 182, 191, 234, 290, 330, 310]},{name: '视频广告',type: 'line',//stack: '总量',data: [150, 232, 201, 154, 190, 330, 410]},{name: '直接访问',type: 'line',//stack: '总量',data: [320, 332, 301, 334, 390, 330, 320]},{name: '搜索引擎',type: 'line',//stack: '总量',data: [520, 932, 901, 934, 1290, 1330, 1320]}]
};

修改后的样式:

补充

示例链接

除了上面提到的官网给出好多示例的链接:点这里

还有一个可以作为补充:Gallery

立即执行函数

为了防止变量污染,减少命名冲突,我们可以采用立即执行函数的写法,因为立即执行函数里的变量都是局部变量。

我们需要var很多option ,我们采用立即执行函数包起来就不会参生命名冲突了。

格式如下:
示例代码:index.js

// 基础折线图
(function() {// 实例化对象var myChart = echarts.init(document.querySelector(".bar .chart"));// 指定配置和数据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'}]};// 配置项和数据给我们的实例化对象myChart.setOption(option);// 当我们浏览器缩放的时候,图表也等比例缩放window.addEventListener("resize", function() {// 让我们的图表调用 resize这个方法myChart.resize();});})();// 饼图
(function() {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.querySelector(".line .chart"));// 指定配置和数据var option = {title: {text: '某站点用户访问来源',subtext: '纯属虚构',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left',},series: [{name: '访问来源',type: 'pie',radius: '50%',data: [{value: 1048, name: '搜索引擎'},{value: 735, name: '直接访问'},{value: 580, name: '邮件营销'},{value: 484, name: '联盟广告'},{value: 300, name: '视频广告'}],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]};// 配置项和数据给我们的实例化对象myChart.setOption(option);// 当我们浏览器缩放的时候,图表也等比例缩放window.addEventListener("resize", function() {// 让我们的图表调用 resize这个方法myChart.resize();});})();

让图表跟随屏幕自适应

  // 当我们浏览器缩放的时候,图表也等比例缩放window.addEventListener("resize", function() {// 让我们的图表调用 resize这个方法myChart.resize();});

以上就是ECharts实现数据可视化入门教程(超详细)的全部内容。

看完如果对你有帮助,感谢点赞支持!
如果你是电脑端的话,看到右下角的 “一键三连” 了吗,没错点它[哈哈]

加油!

共同努力!

Keafmd

ECharts实现数据可视化入门教程(超详细)相关推荐

  1. 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)

    Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...

  2. 【台大郭彦甫】Matlab入门教程超详细学习笔记六:高阶绘图(附PPT链接)

    高阶绘图 前言 一.进阶二维绘图 1. 对数图 2.一图双y轴 3. 直方图 4. 条形图 5. 饼状图 6. 极坐标图 7. 阶梯图与取样图 8. 箱线图以及误差线图 9. 填充图 二.配色 1.R ...

  3. 【数据分析】Numpy入门教程(超详细)

    Numpy 教程 什么是Numpy?Numpy(Numerical Python)是一个Python扩展库,支持大量的维度数组和矩阵运算,此外也针对数组运算提供大量的数学函数库. 其主要用于数组计算, ...

  4. 【台大郭彦甫】Matlab入门教程超详细学习笔记五:初阶绘图(附PPT链接)

    初阶绘图 前言 一.基础绘图 1.plot() 绘制二维线图 2.legend()添加图例 3.title()和*label()添加标题与坐标轴 4.text()和annotation()增加注解 二 ...

  5. 【台大郭彦甫】Matlab入门教程超详细学习笔记四:数据类型与文件读写(附PPT链接)

    变量类型与文件读写 前言 一.变量类型 1.numeric(数值类型) 2.char(字符类型) 3.string(字符串类型) 4.structure(结构体) 5.cell(元胞数组) 5.高维数 ...

  6. MySQL数据库入门教程超详细

    点击查看MySQL优化文章 一.写在前面 黑窗口启动mysql服务: net start mysql 登录:mysql -u root -p 备份数据库: mysqldump -uroot -p123 ...

  7. 40天python入门教程_Python入门教程超详细1小时学会Python

    Java 和 Javascript, 不 用 1 小时你就可以用 Python 快速流畅地写有用的 Python 程序 . 为什么使用 Python 假设我们有这么一项任务 : 简单测试局域网中的电脑 ...

  8. Flask入门教程—超详细

    目录 1.Flask介绍 2.Flask安装及使用 (1)pip安装Flask (2)编写运行最简单的Flask应用 (3

  9. 【台大郭彦甫】Matlab入门教程超详细学习笔记七:数值微积分(附PPT链接)

    数值微积分 前言 一.多项式微积分 1. 多项式计算 2. 多项式微分 3. 多项式积分 二.数值微积分 1. 数值微分法 2. 高阶微分法 3. 数值积分法 三.回顾Function Handles ...

  10. ECharts实现数据可视化超详细基础入门教程

    ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...

最新文章

  1. spring上下文是什么意思_Java程序员只会CRUD连Spring事务传播机制都不懂?
  2. 分布式锁用 Redis 还是 Zookeeper?
  3. LeetCode 319. Bulb Switcher--C++,java,python 1行解法--数学题
  4. java流方式接收pdf_java – 在Itext 7中,如何获取范围流来签署pdf?
  5. Windows Server 2008 没有磁盘清理工具的情况下使用系统提供的磁盘清理工具
  6. 微服务:实战从传统项目平滑过渡 - 笔记
  7. [TJOI2018]智力竞赛 (匈牙利)
  8. mysql to mssql_MysqlToMsSql
  9. BZOJ3064 CPU监控
  10. Fix chrome 下flash crash的问题
  11. html5选择试题及答案,全套html5面试题大全带答案
  12. 雷死人的304公交车!
  13. Ubuntu Gitosis安装设置
  14. IOI2019团体总分前十排名:美国队夺魁,中国队第三,亚洲占六席
  15. c语言a十六进制的地址,使用gdb调试c程序以显示十六进制地址
  16. 30页不容错过的超赞项目管理PPT
  17. html网页对账单样式,怎样在EXCEL中做工行对账单,样式字体要...
  18. 7-8 jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company
  19. DDR SDRAM内存测试的一种官方方案(简单易懂)
  20. 六十甲子日吉凶时辰对照表

热门文章

  1. 网络规划设计师教程知识点精讲之计算机网络汇总
  2. java txt导出_Java导出txt文件的方法
  3. ME525+ Defy+ 刷机指南[zz]
  4. 停车场管理系统项目计划书
  5. 目标设定的SMART原则
  6. mysql 空串 0_casewhen遇到空串转成0
  7. JMeter自动化测试工具超详细基础讲解(一)
  8. ( 科来网络分析系统 )简单的抓包步骤,具体的后面文章说
  9. 虚拟机安装中标麒麟服务器,如何在VMware Workstation中安装中标麒麟7.0
  10. 机器学习在测井和地震的应用