小白也能轻松上手的ECharts 配置手册

📢 鸿蒙专栏:想学鸿蒙的,冲

📢 C语言专栏:想学C语言的,冲

📢 VUE专栏:想学VUE的,冲这里

📢 CSS专栏:想学CSS的,冲这里

📢 Krpano专栏:想学VUE的,冲这里

🔔 上述专栏,都在不定期持续更新中!!!!!!!!!!!!!

目录

一、基础配置

1. 图形配置

width、height

renderer

devicePixelRatio

2. 标题和图例配置

title

legend

3. 坐标轴配置

grid

xAxis、yAxis

4. 系列(Series)配置

series

5. 提示框(Tooltip)配置

tooltip

6. 视觉映射配置

visualMap

7. 事件和交互配置

dataZoom

magicType

restore

二、高级系列配置

series.encode

series.markPoint

series.markLine

高级轴配置

axis.axisLabel

axis.axisTick

axis.splitLine

高级组件配置

graphic

timeline


 

 

亲爱的小白用户,我来啦!

        学绘画的第一步是学会用铅笔画一条直线,编程的第一步是输出一个 “Hello World”,使用 ECharts 的第一步,就是配置出一个最简单的柱状图。

        什么,你还不会?别急,LETTRE 传授你独门秘笈,让你快速上手 ECharts,防止在群里被嘲讽成“啥也不会的小白”。

        首先,你需要准备好 DOM 容器,HTML 部分我们就不多说了,直接上干货:

// 初始化 ECharts 实例
let myChart = echarts.init(document.getElementById('main'))

// 配置项
let option = {
  xAxis: {
    // ...省略坐标轴配置
  },
  yAxis: {
    // ...省略坐标轴配置
  },
  series: [{
    name: '销量',
    type: 'bar',
    data: [5, 20, 36, 10, 10] 
  }]
}

// 设置配置项
myChart.setOption(option)

        看,就是这么简单,代码量还不到 10 行,一个基础柱状图就出来了!

        如果你还觉得有难度,不要灰心,我来手把手教你配置每个属性,保证通关无忧虑。我们一起进入 ECharts 的海洋,感受数据可视化的魅力!

一、基础配置

1. 图形配置

width、height

这两个配置项决定了图表的宽度和高度。默认情况下,ECharts 会自动获取所属 DOM 容器的宽高来设置图表尺寸。

示例:

let option = {
  width: 500, 
  height: 400
}

renderer

renderer 决定使用何种方式渲染图表,可选 'canvas' 或 'svg'。

  • canvas:使用 HTML5 Canvas 渲染,能够提供更好的性能
  • svg:使用 SVG 渲染,支持矢量图形,但渲染大数据量时会更吃力

示例:

let option = {
  renderer: 'svg' 
}

devicePixelRatio

这个配置项可以提高图表在高分屏下的显示效果。如果设置为 2,则表示提高像素密度,使得图形的显示更加清晰。

示例:

let option = {
  devicePixelRatio: 2
}

2. 标题和图例配置

title

title 用于设置图表的主标题,包含三个属性:

  • text:主标题文本
  • subtext:副标题文本
  • left/right/center:标题位置

示例:

let option = {
  title: {
    text: '主标题',
    subtext: '副标题',
    left: 'left' 
  }
}

legend

legend 用于设置图例,包含的属性有:

  • data:图例的数据数组
  • orient:图例列表的布局朝向,'horizontal'或'vertical'
  • left/right/top/bottom:图例的位置

示例:

let option = {
  legend: {
    data: ['系列1', '系列2'],
    orient: 'vertical',
    left: 'left'
  }
}

注意:

legend图例需要配合 Series 去使用

3. 坐标轴配置

grid

grid 用于设置图表的网格系统,可以通过它来调整图表区域的位置。常见属性有:

  • left:网格组件离容器左侧的距离
  • top:网格组件离容器上侧的距离
  • width:网格组件的宽度
  • height:网格组件的高度

示例:

let option = {
  grid: {
    left: '10%',
    top: 60,
    width: '80%',
    height: '60%'
  }
}

xAxis、yAxis

xAxis 和 yAxis 分别用于设置横轴和纵轴的相关配置,常见属性包括:

  • type:坐标轴类型,如 'category' 或 'value'
  • name:坐标轴名称
  • nameLocation:坐标轴名称位置
  • nameGap:坐标轴名称与轴线之间的距离

示例:

let option = {
  xAxis: {
    type: 'category',
    name: 'x 轴',
    nameLocation: 'middle',
    nameGap: 30
  },
  
  yAxis: {
    type: 'value',
    name: 'y 轴' 
  }
}

4. 系列(Series)配置

series

series 数组用于配置每个系列(数据系列)的类型、名称、数据等。通常一个图表由多个系列组成。常见属性有:

  • name:系列名称
  • type:系列图表类型,如 'line'、'bar' 等
  • data:系列数据
  • stack:是否堆叠显示(用于堆叠柱状图等)

示例:

let option = {
  series: [
    {
      name: '系列1',
      type: 'line',
      data: [5, 20, 36, 10, 10]
    },
    {
      name: '系列2',
      type: 'bar',
      data: [55, 20, 16, 20, 10]
    }
  ]
}

5. 提示框(Tooltip)配置

tooltip

tooltip 用于配置提示框组件,常用属性:

  • trigger:触发提示框的行为,如 'item' 或 'axis'
  • formatter:提示框文字格式器,可以自定义显示内容
  • backgroundColor:提示框背景颜色等

示例:

let option = {
  tooltip: {
    trigger: 'item', 
    formatter: '{b}: {c}',
    backgroundColor: 'rgba(0,0,0,0.7)'
  }
}

6. 视觉映射配置

visualMap

visualMap 用于进行『视觉编码』,也就是将数据映射到视觉元素(如颜色)。常用属性:

  • min/max:数据的最小和最大值
  • inRange: 在选中范围内的视觉配置
  • outOfRange: 在选中范围外的视觉配置

示例:

let option = {
  visualMap: {
    min: 0,
    max: 100,
    inRange: {
      color: ['#313695', '#4575b4'] 
    },
    outOfRange: {
      color: '#ccc' 
    }
  }
}

7. 事件和交互配置

dataZoom

dataZoom 用于设置数据区域缩放组件,实现图表数据的区域缩放。常用属性:

  • type:数据缩放类型,取值 'slider' 或 'inside'
  • start/end:数据窗口范围的起始和结束百分比

示例:

let option = {
  dataZoom: {
    type: 'slider',
    start: 10, 
    end: 60
  }
}

magicType

magicType 的配置可以切换图表类型,常用值包括:

  • 'line' 和 'bar':切换折线图和柱状图
  • 'stack':切换堆叠模式

示例:

let option = {
  // 让图表支持 line、bar 切换
  magicType: {
    type: ['line', 'bar']
  }
}

restore

restore 配置可以提供还原和重置按钮,方便用户重置为默认状态。

示例:

let option = {
  // 开启还原和重置功能
  restore: {} 
}

二、高级系列配置

series.encode

encode 可以声明数据到视觉的映射,更加灵活地配置各个数据与图形属性的关系。

series: [{
  encode: {
    x: '时间',
    y: '指数',
    tooltip: ['时间', '指数']
  }
}]

series.markPoint

用于对特定数据进行标记,常用于呈现最大值、最小值等特殊点。

series: [{
  markPoint: {
    data: [
      {name: '最大', value: 180},
      {name: '最小', value: 2} 
    ]
  }  
}]

series.markLine

用于标线,可以标注平均线、警戒线等。

series: [{
  markLine: {
    data: [{
      name: '平均线',
      yAxis: 10
    }]
  }
}]

高级轴配置

axis.axisLabel

扩展轴标签的各种设置,如:

xAxis: {
  axisLabel: {
    interval: 0, // 强制显示所有标签
    rotate: 30, // 旋转角度
    margin: 20, // 刻度标签与轴线之间的距离
  }
}

axis.axisTick

扩展轴刻度的各种设置,如:

yAxis: {
  axisTick: {
    show: false, // 不显示刻度线
  }
}

axis.splitLine

扩展轴网格线的各种设置,如:

xAxis: {
  splitLine: { 
    lineStyle: {
      color: '#ddd',
      width: 1
    }
  }
}

高级组件配置

graphic

graphic 组件用于自定义更丰富的图形,支持矩形、圆、路径、图片等。

graphic: {
  elements: [{
    type: 'rect',
    left: 20,
    top: 20,
    width: 100, 
    height: 50,
    style: {
      fill: 'red'
    }
  }]
}

timeline

timeline 组件实现时间线Controls,可以播放并对比不同时间的图表。

timeline: {
  axisType: 'category',
  autoPlay: true,
  playInterval: 1000
}

持续更新文档内容...

✨ 结语

        这样,我们就基本介绍完了 ECharts 的常用配置项,后续还会在此文章中持续更新更多配置。从基础的大小设置和标题组件,到复杂的坐标轴控制和数据视觉映射,ECharts 为数据可视化提供了强大而丰富的配置能力。

        在继续深入学习 ECharts 时,不要被琳琅满目的配置项吓到。好的绘图作品需要细致的配置结合创意,但初学者完全可以从简单的配置入手,逐步掌握。将数据变成直观的可视化表达,既考验技巧,也是一种乐趣。

        ECharts 还在持续更新,未来必将支持更多炫酷的配置和交互。在它的世界里,我们可以给数据赋予生命,将枯燥的数字变成生动的画卷。让我们在数据可视化的process中持续学习和创造,产出更多有价值的图表作品吧!

        我们改日再会

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【赠书第13期】边缘计算系统设计与实践

文章目录 前言 1 硬件架构设计 2 软件框架设计 3 网络结构设计 4 安全性、可扩展性和性能优化 5 推荐图书 6 粉丝福利 前言 边缘计算是一种新兴的计算模式,它将计算资源推向网络边缘,以更好地满足实时性、低延迟和大规模设备连接的需求。边缘计算…

QML —— 键盘输入示例(附完整源码)

示例效果 Keys 所有视觉基本体都支持通过“附加关键帧”属性进行关键帧处理。按键可以通过onPressed和onReleased信号属性进行处理。 信号属性有一个KeyEvent参数,名为event,其中包含事件的详细信息。如果键被处理,则event.accepted应设置为t…

利用STM32和可控硅控制220V加热电路

利用STM32和可控硅控制220V加热电路 Chapter1 利用STM32和可控硅控制220V加热电路一、错误原理图二、正确原理图 Chapter2 可控硅驱动芯片MOC3081/3061Chapter3 一个MOC3061的可控硅触发电路的分析Chapter4 可控硅的两种触发方式:移相触发和过零触发1、过零触发2、移…

ElasticSearch 文档操作

创建文档 PUT /<target>/_doc/<_id> POST /<target>/_doc/ PUT /<target>/_create/<_id> POST /<target>/_create/<_id>删除文档 // 根据 id 删除 DELETE /<index>/_doc/<_id> // 根据查询删除 POST /<target>/…

2023年软件工程师工作总结范文

各位领导&#xff1a; 你们好&#xff01;时光飞逝&#xff0c;光阴似箭&#xff0c;转眼间又到了一年的年末。2023年又是一个不平凡的年&#xff0c;今年是国家十四个五年计划的第三年&#xff0c;是全面贯彻党的二十大精神的开局之年。中国XX集团作为中国XX行业中最大的企…

接口测试及常用接口测试工具(postman/jmeter)附教程

首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把数据库共享给你&#xff0c;他只能给…

通过 conda 安装 的 detectron2

从 detectron2官网 发现预编译的版本最高支持 pytorch1.10、cuda11.3。&#xff08;2023-12-26&#xff09; 1、安装 conda 环境。 conda create --name detectron2 python3.8 2、安装 pytorch1.10 和 cuda11.3。 pip3 install torch1.10.0cu113 torchvision0.11.1cu113 torc…

blender使用faceit绑定自己的表情动作

blender使用faceit绑定自己的表情控制模型 faceit是个神器&#xff0c;来记录一下如何让表情动起来保持相对位置头部分离&#xff0c;方便后续绑定faceitfaceit的注册rig生成地标Animate可以修正表情烘培之前记得保存使用Faceit的整个流程 faceit是个神器&#xff0c;来记录一下…

【开源】基于JAVA的创意工坊双创管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员端2.2 Web 端2.3 移动端 三、系统展示四、核心代码4.1 查询项目4.2 移动端新增团队4.3 查询讲座4.4 讲座收藏4.5 小程序登录 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的创意工坊双创管理…

Thinkphp开发的返佣商城分销商城理财商城源码

&#xff08;本站长在localhost安装测试&#xff0c;发现提示有错&#xff0c;具体问题没有时间查找了&#xff0c;或者php解密插件没有安装&#xff0c;有能力的朋友自行折腾。&#xff09; 程序基于 THINKPHP6VUE 全新开发&#xff0c;保障安全的同时大大提高代码执行效率。…

CentOS进入单用户模式

一、重启 二、出现内核选项 按“e” 三、编辑这一行 输入 rw init/sysroot/bin/sh 四、进入单用户模式 ctrlx 进入 五、切换目录 chroot /sysroot 六、然后你就操作你的系统了。 修改密码等等

大模型工具_QUIVR

https://github.com/StanGirard/quivr/ 24.5K Star 1 功能 整体功能&#xff0c;想解决什么问题 实现了前后端结合的 RAG 方案。构建能直接使用的应用。提出了“第二大脑”&#xff0c;具体实现也是RAG&#xff0c;但针对不同用户不同场景支持多个“大脑”并存&#xff0c;每个…

可视化盒模型理解

对应代码 对应F12 对应画面

JVM的生命周期

1.加载&#xff08;Loading&#xff09;&#xff1a; 在加载阶段&#xff0c;JVM会找到并加载Java字节码文件。加载阶段分为三个步骤&#xff1a;通过类的全限定名找到对应的字节码文件&#xff0c;创建一个与该类相关的Class对象&#xff0c;将类的静态数据结构存储在方法区中…

深入探索Spring Boot的核心功能:快速构建原生程序响应式处理数据(文末送书)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式&#xff1a;关注博主、点赞、收藏、评论&#xff0c;任意评论&#xff08;每人最多评论…

OpenStack搭建和部署

Centos官网qcow2镜像修改root账号密码&#xff0c;开启ssh等 wget http://172.16.20.10/vmtemplate/KVM/wangrui/Debian/debian-10.2.0-openstack-amd64.qcow2 一、查看镜像文件信息 [debian-10.2-cloud] nameDebian 10.2.0 (Buster) Cloud osinfodebian10 archx86_64 fi…

Linux | 解决问题Ubuntu重启无法进入系统以及网络无法连接【图文详解】

Ubuntu18.04重启无法进入系统&#xff0c;重开后如图 一直在加载系统内核4.15.0-213-generic,无法加载 错误原因 原本的系统是Ubuntu16.04,使用命令升级到Ubuntu18.04版本&#xff0c;升级重启后&#xff0c;远程无法连接&#xff01; 错误解决 第一步&#xff1a;进入GRUB…

大米API:实现大米供应链的智能化管理与优化

产品介绍&#xff1a; 大米API是一个免费开放api接口在线网站&#xff0c;提供各类免费API接口服务。它汇聚了丰富实用的api接口&#xff0c;包括天气、翻译、网站信息查询等接口。无需服务器&#xff0c;只需简单调用就可在各类应用和网站中集成丰富的数据接口。 应用场景&a…

论文阅读《Restormer: Efficient Transformer for High-Resolution Image Restoration》

论文地址:https://openaccess.thecvf.com/content/CVPR2022/html/Zamir_Restormer_Efficient_Transformer_for_High-Resolution_Image_Restoration_CVPR_2022_paper.html 源码地址:https://github.com/swz30/Restormer 概述 图像恢复任务旨在从受到各种扰动(噪声、模糊、雨滴…

分析diff算法与虚拟dom(理解现代前端框架思想)

React和Vue作为目前国内主力的前端开发框架&#xff0c;想必大家在日常的开发当中也是非常熟悉了。不可否认的它们的存在大大地提高了我们的开发效率以及使得我们的代码可维护性得到提高&#xff0c;但是使用它们的“巧妙”的之后&#xff0c;对技术有着追求的你&#xff0c;是…