ECharts 快速入门

文章目录

    • 1. 引入 ECharts
    • 2. 初始化 ECharts 实例
    • 3. 配置图表选项
    • 4. 使用配置项生成图表
    • 5. 最常用的几种图形
      • 5.1 柱状图(Bar Chart)
      • 5.2 折线图(Line Chart)
      • 5.3 饼图(Pie Chart)
      • 5.4 散点图(Scatter Chart)
    • 6. 更多配置项
      • 6.1 颜色主题
      • 6.2 数据缩放
      • 6.3 工具栏
    • 7. 参考文档


ECharts 是一个由百度开源的基于 JavaScript 的数据可视化图表库,它提供了丰富的图表类型、交互功能和主题样式,方便用户快速创建各种数据可视化图表,并在商业和开源项目中广泛应用。

本文内容根据 ECharts 官方文档 整理。

下面将介绍如何使用 ECharts 创建最常用的几种图表:柱状图、折线图、饼图和散点图。

1. 引入 ECharts

在使用 ECharts 之前,首先需要在 HTML 文件中引入 ECharts 的 JavaScript 文件。

可以选择通过 CDN 引入或者下载 ECharts 文件并在本地引入。

使用 CDN:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>ECharts</title><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <!-- 引入 ECharts 库 -->
</head>
<body><div id="main" style="width: 600px;height:400px;"></div> <!-- 定义一个用于显示图表的容器 --><script>// 在这里编写您的 ECharts 代码</script>
</body>
</html>

2. 初始化 ECharts 实例

在 HTML 中创建一个容器,然后在 JavaScript 中初始化 ECharts 实例。

<div id="main" style="width: 600px;height:400px;"></div> <!-- 创建一个用于显示图表的 div 容器 -->
<script>// 初始化 ECharts 实例,并将其绑定到上述 div 容器var chart = echarts.init(document.getElementById('main')); 
</script>

3. 配置图表选项

定义图表的配置和数据。

ECharts 的配置项非常丰富,以下是一个简单的示例:

var option = {// 图表的标题配置title: {text: 'ECharts 示例图表'  // 设置图表的标题文本},// 提示框组件配置,用于显示数据详细信息tooltip: {},  // 默认配置,启用提示框组件// 图例组件配置,用于显示图例数据legend: {data: ['销量']  // 图例数据,显示在图表上方的标签},// X 轴配置xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']  // X 轴的数据项},// Y 轴配置,使用默认配置yAxis: {},// 数据系列配置series: [{name: '销量',  // 系列的名称type: 'bar',  // 图表类型为柱状图data: [5, 20, 36, 10, 10, 20]  // 数据项,对应于 X 轴上的各个类别}]
};

4. 使用配置项生成图表

将配置项设置给 ECharts 实例以生成图表。

// 使用 setOption 方法将配置项设置给 ECharts 实例,生成图表
chart.setOption(option); 

5. 最常用的几种图形

5.1 柱状图(Bar Chart)

柱状图是一种非常常用的图表类型,适用于比较不同类别的数据。

下面是一个完整的柱状图示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>柱状图</title><!-- 引入 ECharts 库 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 创建一个用于显示柱状图的 div 容器,设置宽度为 600 像素,高度为 400 像素 --><div id="barChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 实例,并将其绑定到上述 div 容器var barChart = echarts.init(document.getElementById('barChart'));// 定义柱状图的配置选项var barOption = {// 配置图表的标题title: {text: '柱状图示例'  // 设置标题文本为“柱状图示例”},// 配置提示框组件,默认配置即可显示数据详细信息tooltip: {},  // 配置图例legend: {data: ['销量']  // 图例数据,显示为“销量”},// 配置 X 轴xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']  // X 轴数据,表示不同种类的商品},// 配置 Y 轴,默认配置yAxis: {},  // 配置数据系列series: [{name: '销量',  // 系列名称为“销量”type: 'bar',  // 图表类型为柱状图data: [5, 20, 36, 10, 10, 20]  // 数据项,表示不同商品的销量}]};// 使用 setOption 方法将配置项设置给 ECharts 实例,生成图表barChart.setOption(barOption);</script>
</body>
</html>

5.2 折线图(Line Chart)

折线图用于显示数据的变化趋势,特别适合展示时间序列数据。

以下是一个折线图的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>折线图</title><!-- 引入 ECharts 库 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 创建一个用于显示折线图的 div 容器,设置宽度为 600 像素,高度为 400 像素 --><div id="lineChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 实例,并将其绑定到上述 div 容器var lineChart = echarts.init(document.getElementById('lineChart'));// 定义折线图的配置选项var lineOption = {// 配置图表的标题title: {text: '折线图示例'  // 设置标题文本为“折线图示例”},// 配置提示框组件,默认配置即可显示数据详细信息tooltip: {},  // 配置图例legend: {data: ['温度']  // 图例数据,显示为“温度”},// 配置 X 轴xAxis: {type: 'category',  // X 轴类型:类目轴data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']  // X 轴数据,表示一周中的七天},// 配置 Y 轴yAxis: {type: 'value'  // Y 轴类型:数值轴},// 配置数据系列series: [{name: '温度',  // 系列名称为“温度”type: 'line',  // 图表类型为折线图data: [11, 11, 15, 13, 12, 13, 10]  // 数据项,表示一周中每天的温度}]};// 使用 setOption 方法将配置项设置给 ECharts 实例,生成图表lineChart.setOption(lineOption);</script>
</body>
</html>

5.3 饼图(Pie Chart)

饼图用于显示各部分在总量中的占比情况。

以下是一个饼图的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>饼图</title><!-- 引入 ECharts 库 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 创建一个用于显示饼图的 div 容器,设置宽度为 600 像素,高度为 400 像素 --><div id="pieChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 实例,并将其绑定到上述 div 容器var pieChart = echarts.init(document.getElementById('pieChart'));// 定义饼图的配置选项var pieOption = {// 配置图表的标题title: {text: '饼图示例',  // 设置标题文本为“饼图示例”left: 'center'  // 标题位置:居中},// 配置提示框组件,默认配置即可显示数据详细信息tooltip: {trigger: 'item'  // 提示框触发类型:数据项触发},// 配置图例legend: {orient: 'vertical',  // 图例布局方式:垂直left: 'left'  // 图例位置:左侧},// 配置数据系列series: [{name: '访问来源',  // 系列名称为“访问来源”type: 'pie',  // 图表类型为饼图radius: '50%',  // 饼图半径为 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)'  // 阴影颜色}}}]};// 使用 setOption 方法将配置项设置给 ECharts 实例,生成图表pieChart.setOption(pieOption);</script>
</body>
</html>

5.4 散点图(Scatter Chart)

散点图用于显示两个变量之间的关系。

以下是一个散点图的完整示例:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>散点图</title><!-- 引入 ECharts 库 --><script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body><!-- 创建一个用于显示散点图的 div 容器,设置宽度为 600 像素,高度为 400 像素 --><div id="scatterChart" style="width: 600px;height:400px;"></div> <script>// 初始化 ECharts 实例,并将其绑定到上述 div 容器var scatterChart = echarts.init(document.getElementById('scatterChart'));// 定义散点图的配置选项var scatterOption = {// 配置图表的标题title: {text: '散点图示例'  // 设置标题文本为“散点图示例”},// 配置提示框组件,默认配置即可显示数据详细信息tooltip: {},  // 配置 X 轴xAxis: {},  // 配置 Y 轴yAxis: {},  // 配置数据系列series: [{symbolSize: 20,  // 数据点大小设置为20data: [  // 数据项[10.0, 8.04],[8.0, 6.95],[13.0, 7.58],[9.0, 8.81],[11.0, 8.33],[14.0, 9.96],[6.0, 7.24],[4.0, 4.26],[12.0, 10.84],[7.0, 4.82],[5.0, 5.68]],type: 'scatter'  // 图表类型为散点图}]};// 使用 setOption 方法将配置项设置给 ECharts 实例,生成图表scatterChart.setOption(scatterOption);</script>
</body>
</html>

6. 更多配置项

ECharts 提供了丰富的配置项来定制图表。

以下是一些常见配置项的示例:

6.1 颜色主题

通过 color 属性可以自定义图表的颜色主题:

var option = {color: ['#3398DB'],  // 自定义颜色主题...
};

6.2 数据缩放

通过 dataZoom 可以实现图表的数据缩放功能:

var option = {dataZoom: [{type: 'slider',  // 缩放类型:滑动条start: 10,  // 缩放起始位置 end: 60  // 缩放结束位置}],...
};

6.3 工具栏

通过 toolbox 可以添加工具栏,包括导出图片等功能:

var option = {toolbox: {feature: {saveAsImage: {}  // 保存为图片的工具}},...
};

7. 参考文档

本文涵盖了 ECharts 的基本使用方法和常见图表类型的创建。

想要了解更多关于 ECharts 的详细配置和高级功能,请访问 ECharts 官方文档。

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

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

相关文章

如何完成域名解析验证

一&#xff1a;什么是DNS解析&#xff1a; DNS解析是互联网上将人类可读的域名&#xff08;如www.example.com&#xff09;转换为计算机可识别的IP地址&#xff08;如192.0.2.1&#xff09;的过程&#xff0c;大致遵循以下步骤&#xff1a; 查询本地缓存&#xff1a;当用户尝…

Linux内核 -- 多线程之完成量completion的使用

Linux Kernel Completion 使用指南 在Linux内核编程中&#xff0c;completion是一个用于进程同步的机制&#xff0c;常用于等待某个事件的完成。它提供了一种简单的方式&#xff0c;让一个线程等待另一个线程完成某项任务。 基本使用方法 初始化 completion结构需要在使用之…

顺序串算法库构建

学习贺利坚老师顺序串算法库 数据结构之自建算法库——顺序串_创建顺序串s1,创建顺序串s2-CSDN博客 本人详细解析博客 串的概念及操作_串的基本操作-CSDN博客 版本更新日志 V1.0: 在贺利坚老师算法库指导下, 结合本人详细解析博客思路基础上,进行测试, 加入异常弹出信息 v1.0补…

已解决java.awt.geom.NoninvertibleTransformException:在Java2D中无法逆转的转换的正确解决方法,亲测有效!!!

已解决java.awt.geom.NoninvertibleTransformException&#xff1a;在Java2D中无法逆转的转换的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 1. 检查缩放因子 修改后的缩放变换 …

关键路径——C语言(理论)

关键路径&#xff0c;是项目网络中从起始事件到终止事件的最长路径&#xff0c;决定了项目的最短完成时间。 关键路径中的任务没有任何可调整的余地&#xff0c;如果任何一个任务被延迟&#xff0c;整个项目的完成时间也会被延迟。 假设我们现在有一个图&#xff1a;把图的边…

node编译打包Error: error:0308010C:digital envelope routines::unsupported

问题描述&#xff1a; 报错&#xff1a;Error: error:0308010C:digital envelope routines::unsupported 报错原因&#xff1a; 主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制&#xff0c;nodeJs v17 之前版本没影响&#xff0…

【CH32V305FBP6】USBD HS 虚拟串口分析

文章目录 前言分析端点 0USBHS_UIS_TOKEN_OUT 端点 2USBHS_UIS_TOKEN_OUTUSBHS_UIS_TOKEN_IN 前言 虚拟串口&#xff0c;端口 3 单向上报&#xff0c;端口 2 双向收发。 分析 端点 0 USBHS_UIS_TOKEN_OUT 设置串口参数&#xff1a; 判断 USBHS_SetupReqCode CDC_SET_LIN…

玩转HarmonyOS NEXT之配置文件篇

配置文件概述 本文以Stage模型为例&#xff0c;详细介绍了HarmonyOS NEXT应用的各种配置文件&#xff0c;这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。 在基于Stage模型开发的应用项目代码下&#xff0c;都存在一个app.json5的配置文件、以及一个或者多…

从零开始实现大语言模型(一):概述

1. 前言 大家好&#xff0c;我是何睿智。我现在在做大语言模型相关工作&#xff0c;我用业余时间写一个专栏&#xff0c;给大家讲讲如何从零开始实现大语言模型。 从零开始实现大语言模型是了解其原理及领域大语言模型实现路径的最好方法&#xff0c;没有之一。已有研究证明&…

《昇思25天学习打卡营第07天|函数式自动微分》

函数式自动微分 环境配置 # 实验环境已经预装了mindspore2.2.14&#xff0c;如需更换mindspore版本&#xff0c;可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 import numpy as np imp…

Windows10录屏,教你3个方法,简单快速录屏

“我的电脑系统是Windows10的系统&#xff0c;今晚要进行线上开会&#xff0c;但我实在有事没办法参加会议&#xff0c;想把会议的内容录制下来方便我后续观看。但却找不到电脑录屏功能在哪里打开&#xff1f;求助一下&#xff0c;谁能帮帮我&#xff1f;” 在数字化时代&…

mysql 命令 —— 查看表信息(show table status)

查询表信息&#xff0c;如整个表的数据量大小、表的索引占用空间大小等 1、查询某个库下面的所有表信息&#xff1a; SHOW TABLE STATUS FROM your_database_name;2、查询指定的表信息&#xff1a; SHOW TABLE STATUS LIKE your_table_name;如&#xff1a;Data_length 显示表…

闲聊 .NET Standard

前言 有时候&#xff0c;我们从 Nuget 下载第三方包时&#xff0c;会看到这些包的依赖除了要求 .NET FrameWork、.NET Core 等的版本之外&#xff0c;还会要求 .NET Standard 的版本&#xff0c;比如这样&#xff1a; 这个神秘的 .NET Standard 是什么呢&#xff1f; .NET St…

【算法】字母异位词分组

题目&#xff1a;字母异位词分组 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] …

从零开始搭建spring boot多模块项目

一、搭建父级模块 1、打开idea,选择file–new–project 2、选择Spring Initializr,选择相关java版本,点击“Next” 3、填写父级模块信息 选择/填写group、artifact、type、language、packaging(后面需要修改)、java version(后面需要修改成和第2步中版本一致)。点击“…

【0300】Postgres内核动态哈希表实现机制(1)

相关文章&#xff1a; 【0299】Postgres内核之哈希表&#xff08;Hash Tables&#xff09; 0 概述 在【0299】Postgres内核之哈希表&#xff08;Hash Tables&#xff09;一文中&#xff0c;讲解了哈希表的作用、实现、优缺点等特性。本文开始&#xff0c;将详细分析Postgres内…

MySQL之应用层优化(三)

应用层优化 应用层缓存 2.本地共享内存缓存 这种缓存一般是中等大小(几个GB)&#xff0c;快速&#xff0c;难以在多台机器间同步。它们对小型的半静态位数据比较合适。例如每个州的城市列表&#xff0c;分片数据存储的分区函数(映射表)&#xff0c;或者使用存活时间(TTL)策略…

记录一次Chrome浏览器自动排序ajax请求的JSON数据问题

文章目录 1.前言2. 为什么会这样&#xff1f;3.如何解决&#xff1f; 1.前言 作者作为新人入职的第一天&#xff0c;mentor给了一个维护公司运营平台的小需求&#xff0c;具体需求是根据运营平台的某个管理模块所展示记录的某些字段对展示记录做排序。 第一步&#xff1a; myb…

工业触摸一体机优化MES应用开发流程

工业触摸一体机在现代工业生产中扮演着至关重要的角色&#xff0c;它集成了智能触摸屏和工业计算机的功能&#xff0c;广泛应用于各种生产场景中。而制造执行系统&#xff08;MES&#xff09;作为工业生产管理的重要工具&#xff0c;对于提高生产效率、降低成本、优化资源利用具…

力扣hot100-普通数组

文章目录 题目&#xff1a;最大子数组和方法1 动态规划方法2 题目&#xff1a;合并区间题解 题目&#xff1a;最大子数组和 原题链接&#xff1a;最大子数组和 方法1 动态规划 public class T53 {//动态规划public static int maxSubArray(int[] nums) {if (nums.length 0…