文接上篇 ECharts 入门知识 ECharts 入门真的很简单 ,本文继续介绍 ECharts 常用图表相关内容。

一、散点图


散点图多用于推断不同维度数据之间的相关性,如下图判断身高体重相关性散点图:

> 实现步骤

① 实现 ECharts 基本代码结构。引入 js 文件,DOM 容器,初始化,设置 option 。

② x 轴数据和 y 轴数据组成的二维数组。

③ 设置图表类型。在 series 下设置 type: scatter ,xAxis 和 yAxis 都设置 type: value

④ 一般 xAxis 和 yAxis 还需调整为脱离 0 值比例:scale: true

> 基本代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="lib/echarts.min.js"></script>
</head><body><div style="width: 600px;height:400px"></div><script>// 基本数据var data = [{ "gender": "female", "height": 161.2, "weight": 51.6 }, { "gender": "female", "height": 167.5, "weight": 59 }, { "gender": "female", "height": 159.5, "weight": 49.2 }, { "gender": "female", "height": 157, "weight": 63 }, { "gender": "female", "height": 155.8, "weight": 53.6 }, { "gender": "female", "height": 170, "weight": 59 }, { "gender": "female", "height": 159.1, "weight": 47.6 }]var axisData = []for (var i = 0; i < data.length; i++) {var height = data[i].heightvar weight = data[i].weightvar newArr = [height, weight]axisData.push(newArr)}var mCharts = echarts.init(document.querySelector("div"))// 配置项var option = {xAxis: {type: 'value',scale: true       // 脱离 0 值比例},yAxis: {type: 'value',scale: true},series: [{type: 'scatter', // 指明图表的类型为散点图data: axisData}]}mCharts.setOption(option)</script>
</body></html>

> 常见效果

  • 气泡图效果

    散点的大小:symbolSize ,可以是值或回调

    散点的颜色:itemStyle.color ,可以是值或回调

  • 涟漪动画效果

    设置带涟漪动画的散点图: type = 'effectScatter'

    涟漪相关特效设置:rippleEffect

    设置何时显示涟漪效果:showEffectOn = 'render'showEffectOn = 'emphasis'

二、直角坐标系常用配置


此前已经学习了三种直角坐标系图表:柱状图、折线图、散点图。但还未提及如何对直角坐标系进行配置,如坐标轴、网格显示等等。下面进行介绍。

> 网格 grid

grid 是用来控制直角坐标系的布局和大小的,x 轴和 y 轴就是在 grid 的基础上进行绘制的。

  • 显示网格

    show: true

  • 网格边框

    borderWidthborderColor

  • 网格位置和大小

    位置: lefttoprightbottom

    大小:widthheight

> 坐标轴 axis

  • 坐标轴类型 type

  • 显示位置 position

    xAxis 可取值为 topbottom

    yAxis 可取值为 leftright

> 区域缩放 dataZoom

dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。

  • 类型 type

    slider:滑块

    inside:内置,依靠鼠标滚轮或双指缩放

  • 指明产生作用的轴

    xAxisIndex:设置缩放组件控制的是哪个 x 轴,一般为 0

    yAxisIndex:设置缩放组件控制的是哪个 y 轴,一般为 0

  • 指明初始状态的缩放情况

    start:数据窗口范围的起始百分比

    end:数据窗口范围的结束百分比

三、饼图


饼图可以帮助用户快速了解不同分类的数据占比情况。如下图某大学生在各平台消费情况:

> 基本代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="lib/echarts.min.js"></script>
</head><body><div style="width: 600px; height: 400px"></div><script>var mCharts = echarts.init(document.querySelector('div'))var pieData = [{name: '某宝',value: 12231},{name: '啊东',value: 23636},{name: '拼夕夕',value: 16364},{name: '舔狗house',value: 7231}]var option = {series: [{type: 'pie',data: pieData}]}mCharts.setOption(option)</script>
</body></html>

> 常见效果

  • 显示数值

    label.formatter

  • 圆环

    设置两个半径 radius ,如 radius: ['50%', '75%']

  • 南丁格尔图

    饼图各个区域半径随数值变化。roseType: 'radius'

  • 选中效果

    选中模式 selectedMode: 'single'selectedMode: 'multiple'
    选中偏移量 selectedOffset

var option = {series: [{type: 'pie',data: pieData,label: {show: true,                 // 显示文字formatter: (arg) => {        // 格式化文字内容return `${arg.name}:${arg.value} 元 \n\n${arg.percent}%`}},// radius: 100,               // 饼图半径// radius: ['50%', '75%']     // 圆环roseType: 'radius',           // 南丁格尔图selectedMode: 'single',       // 选中效果 (single,multiple)selectedOffset: 30,}]
}

四、地图


> 地图图表的使用方式

  • 百度地图 API

    需要申请百度地图 ak

  • 矢量地图

    需要准备矢量地图数据

这里采用第二种方式,也就是提前准备好了矢量地图数据的 json 文件

> 实现步骤

① ECharts 基本代码。

② 准备中国的矢量地图 json 文件,放到 json/map/ 目录下。

③ 使用 Ajax 获取 china.json 。

④ 在回调函数中向 echarts 全局对象注册地图的 json 数据。

⑤ 在配置项 option 中配置 geo 。

> 基本代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="lib/echarts.min.js"></script><script src="lib/jquery.min.js"></script>
</head><body><div style="width: 700px; height: 400px"></div><script>var mCharts = echarts.init(document.querySelector('div'))$.get('json/map/china.json', (ret) => {echarts.registerMap('chinaMap', ret)var option = {geo: {type: 'map',map: 'chinaMap'}}mCharts.setOption(option)})</script>
</body></html>

这里是采用 jq 实现的,当然你也可以使用 axios 。此外,需要注意要将 option 配置项设置放在获取 json 数据后。

> 常用配置

详细 geo 配置可参考官方文档 >> https://echarts.apache.org/zh/option.html#geo

配置 描述
roam 拖动和缩放
label 名称显示
zoom 初始缩放比例
center 地图中心点
var option = {geo: {type: 'map',map: 'chinaMap',roam: true,                      // 设置可拖动可缩放label: {show: true                     // 显示名称},zoom: 1,                         // 设置初始化缩放比例center: [87.617733, 43.792818]   // 设置中心点坐标}
}

> 常见效果

  • 不同城市颜色不同

    ① 设置 series 数据,并将 series 数据与 geo 关联起来。

    geoIndex: 0type: 'map'

    ② 结合 visualMap 配合使用。

    minmaxinRangecalculabe

  • 地图和散点图结合

    ① series 增加新对象

    ② 准备散点数据,设置新对象的 data

    ③ 配置新对象的 type

    type: effectScatter

    ④ 让散点图使用地图坐标系统

    coordinateSystem: 'geo'

var option = {geo: {type: 'map',map: 'chinaMap',roam: true,                     // 设置可拖动可缩放label: {show: true                    // 显示名称},zoom: 1,                        // 设置初始化缩放比例},series: [{data: airData,                // 空气质量指数数据geoIndex: 0,type: 'map'},{data: scatterData,            // 配置散点坐标数据type: 'effectScatter',coordinateSystem: 'geo',      // 指明散点使用的坐标系统rippleEffect: {scale: 10                   // 设置涟漪动画缩放比例}}],visualMap: {min: 0,max: 300,                      // 根据颜色依赖数据给定最大值、最小值inRange: {color: ['white', 'orange', 'red']   // 控制颜色渐变范围},calculable: true,              // 滑块  用于数据筛选}
}

五、雷达图


雷达图可以用来分析多个维度数据与标准数据的对比情况。如下图手机性能对比的雷达图:

> 实现步骤

① ECharts 基本结构。

② 定义各个维度最大值 indicator 。

③ 准备具体产品数据。

④ 指明图表类型 radar 。

> 基本代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="lib/echarts.min.js"></script>
</head><body><div style="width: 600px;height:400px"></div><script>var mCharts = echarts.init(document.querySelector("div"))var dataMax = [{name: '易用性',max: 100},{name: '功能',max: 100},{name: '拍照',max: 100},{name: '跑分',max: 100},{name: '续航',max: 100}]var option = {radar: {indicator: dataMax},series: [{type: 'radar',data: [{name: 'HUAWEI P100',value: [80, 95, 85, 82, 90]},{name: 'iPhone 100',value: [90, 85, 92, 78, 83]}]}]}mCharts.setOption(option)</script>
</body></html>

> 常用配置

radar 详细配置参见官方文档 >> https://echarts.apache.org/zh/option.html#radar

配置 描述
label 显示数值
areaStyle 阴影面积
shape 绘制类型

六、仪表盘


仪表盘主要用于进度把控以及数据范围的检测,可以直观的表现某个指标的进度。

> 实现步骤

① ECharts 基本结构。

② 准备数据,设置给 series 下 data 。

③ 设置图表类型 type: gauge 。

> 基本代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="lib/echarts.min.js"></script>
</head><body><div style="width: 600px;height:400px"></div><script>var mCharts = echarts.init(document.querySelector("div"))var option = {series: [{type: 'gauge',data: [{value: 66}]}]}mCharts.setOption(option)</script>
</body></html>

> 实现效果

  • 数值范围

    maxmin

  • 多指针

    增加 data 中数据

  • 指针样式

    itemStyle

var option = {series: [{type: 'gauge',data: [{value: 66,itemStyle: {          // 指针的样式color: 'tomato'       // 指针的颜色}},                      // 每一个对象就代表一个指针{value: 85,itemStyle: {color: 'skyblue'}}],max: 180,min: 50                   // min max 控制仪表盘数值范围}]
}

七、图表总结


ECharts 常用图表一看即会「散点图」「饼图」「地图」「雷达图」「仪表盘」相关推荐

  1. 数据可视化ECharts的七大常用图表,看完就会用(1)

    本文的后半部分:数据可视化ECharts的常用图表,看完就会用(2) 文章目录 数据可视化 什么是数据可视化? 数据可视化的好处 数据可视化的实现方式 ECharts ECharts的特性 一个ECh ...

  2. Apache Echarts常用图表之柱状图

    文章目录 Echarts常用图表 柱状图 1. 柱状图的实现步骤 2. 柱状图的常见效果 最大值\最小值 `markPoint` 平均值 `markLine` 数值显示 `label` 柱宽度 `ba ...

  3. Apache Echarts常用图表之折线图

    文章目录 Echarts常用图表 折线图 1. 折线图的实现步骤 2. 折线图的常见效果 最大值\最小值 `markPoint` 平均值 `markLine` 标注区间 `markArea` 数值显示 ...

  4. ECharts常用图表 饼图

    1.图表4 饼图 1.1.饼图的实现步骤 步骤1 ECharts 最基本的代码结构 此时 option 是一个空空如也的对象 步骤2 准备数据 步骤3 准备配置项 在 series 下设置 type: ...

  5. echarts 常用图表示例

    既然说到 echarts,那就不得不分享一个了不得的链接啦:Documentation - Apache ECharts (绝对不会让你感到失望的哟). 条形图 <!DOCTYPE html&g ...

  6. 常用echart图表(柱状图、折线图、饼图、环形进度条、雷达图等等)基础配置和用法、resize()响应、轮播tooltip

    一.最简单的使用方式引入官方echart.js即可 <script src="js/echarts.js"></script> 二.页面准备一个DOM容器 ...

  7. Chart.js与ECharts.js图表组件对比与使用

    Chart.js与ECharts.js图表组件对比与使用 常用的 图表组件 Chart.js与ECharts.js的简要介绍与使用. Chart.js Chart.js官方网址.里面包括文档.例子和G ...

  8. Vue +Element UI (饿了么UI) +Echarts 实现图表自适应配置

    接到一个需求,让用户能够通过配置, 配置出自己想要的统计图, 填入数据 分析需求: 需要客户配置的数据项有哪些? 客户配置数据的存储 JSON转String 存数据库就行..... 一.可配置的项 主 ...

  9. echarts属性,常用图表详解

    目录 a.折线图 b.柱状图 c.堆叠柱状图 d.饼图 e.南丁格尔玫瑰图 f.基础雷达图 g.数据聚合图 h.气泡图 i.k线图 j.基础盒须图 k.漏斗图 l.仪表图 基础属性 // 标题配置ti ...

最新文章

  1. 京东金融App收集用户敏感信息?致歉来了
  2. Docker 1.13 管理命令
  3. 软件回归测试及其实践
  4. why在重写equals时还必须重写hashcode方法
  5. YOLO (You only look once) 实时目标检测
  6. SAP Commerce的Content Page,Content Slot和Component在Spartacus里的应用
  7. react学习(12)-moment插件设置日期格式
  8. 58 集团大规模 Storm 任务平滑迁移至 Flink 的秘密
  9. 学习Scala: 初学者应该了解的知识
  10. 湖北网络安全的产业机遇在哪里
  11. Google工程师多图详解Android系统架构
  12. Java Swing设置主窗口位置居中方法
  13. 【Gulp自动化构建工具】
  14. Macbook M1电脑安装svn及使用
  15. python中的auto_ml自动机器学习框架学习实践
  16. Cisco Packet Tracer思科模拟器中路由器PPP封装与验证
  17. 选择图片未经后端显示预览图片
  18. 大型软件工作站计算机性能配置要求,推荐配置7.3万元的高性能服务器计算机工作站(全文)...
  19. canva怎么拼接图片_canvas图片拼接(横向)
  20. python毕业设计项目源码选题(14)校园失物招领系统毕业设计毕设作品开题报告开题答辩PPT

热门文章

  1. python高级应用程序课程设计_Python高级应用程序设计任务
  2. HTML5---新标签与特性
  3. Test on 11/24/2018
  4. python3 enumerate()函数笔记
  5. 基于Kubernetes(k8s)的RabbitMQ 集群
  6. hive实现根据用户分组,按用户记录求上下两条记录的时间差
  7. MVC 配置路由 反复走控制其中的action (int?)
  8. Flutter Button 图文分析、效果浏览
  9. 10分钟教你用VS2017将代码上传到GitHub
  10. [ZJOI 2006]书架