栏目一:使用echarts绘制简单图形

栏目一:使用echarts绘制简单图形

  • 前言
  • 1. 在线编辑图形
    • 1.1 折线图
    • 1.2 柱状图
    • 1.3 扇形图
  • 2. 本地绘制图表
    • 2.1 下载echarts.min.js
    • 2.2 创建一个简单的图形

前言

Echarts是一款基于JavaScript的可视化图表库。它提供了丰富的图表类型和交互功能,可以用于在网页中展示各种数据。Echarts支持多种数据格式的转换和操作,可以轻松地将数据转换为图表所需的格式,并且可以对图表进行个性化的配置和设置。Echarts还支持响应式布局,可以根据不同的设备和屏幕大小自动调整图表的显示效果。Echarts的文档齐全,使用简便,并且具有强大的扩展性,可以满足各种复杂的数据可视化需求。
官网链接:https://echarts.apache.org/zh/index.html
快速入门:https://echarts.apache.org/handbook/zh/get-started/
本章节将从在线编辑图表和本地绘制图表两个方面进行介绍

1. 在线编辑图形

1.1 折线图

以下是官网的一个简单示例
在这里插入图片描述
代码介绍

// 注释说明:
// 1. 这个配置对象定义了一个简单的折线图,其中X轴是周几(‘Mon’到’Sun’),Y轴是对应的数值。
// 2. xAxis 定义了X轴的基本属性,包括轴的类型(类目轴)和轴上的数据(周一至周日)。
// 3. yAxis 定义了Y轴的基本属性,即轴的类型(数值轴)。
// 4. series 是图表的核心,定义了图表的数据和类型。这里只定义了一个系列,类型为折线图,数据为一周内每天的某个数值。

// ECharts 配置对象  
option = {  // X 轴配置  xAxis: {  // X轴类型,'category' 表明是类目轴,适用于离散的类目数据  type: 'category',  // X轴上的数据,数组项表示类目名  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  },  // Y 轴配置  yAxis: {  // Y轴类型,'value' 表明是数值轴,适用于连续数据  type: 'value'  },  // 系列列表,每个系列通过 type 决定渲染成哪种图表  series: [  {  // 数据数组,数组项通常为具体的数据值  data: [150, 230, 224, 218, 135, 147, 260],  // 图表类型,'line' 表示折线图  type: 'line'  }  ]  
};  

1.2 柱状图

简单柱状图展示
在这里插入图片描述
代码介绍

// 注释说明:
// 1. 这个配置对象定义了一个简单的柱状图,其中X轴是周几(‘Mon’到’Sun’),Y轴是对应的数值。
// 2. xAxis 定义了X轴的基本属性,包括轴的类型(类目轴)和轴上的数据(周一至周日)。
// 3. yAxis 定义了Y轴的基本属性,即轴的类型(数值轴)。
// 4. series 是图表的核心,定义了图表的数据和类型。这里定义了一个系列,类型为柱状图。
// 5. 在 series 的 data 数组中,周二的数据被设置为一个对象,其中不仅包含了值(value: 200),还包含了数据点的样式(itemStyle),特别地将颜色设置为红色(#a90000)。
// 6. 其余数据点直接使用数值表示,没有额外设置样式,将使用默认的样式渲染。

// ECharts 配置对象  
option = {  // X 轴配置  xAxis: {  // X轴类型,'category' 表明是类目轴,适用于离散的类目数据  type: 'category',  // X轴上的数据,数组项表示类目名  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  },  // Y 轴配置  yAxis: {  // Y轴类型,'value' 表明是数值轴,适用于连续数据  type: 'value'  },  // 系列列表,每个系列通过 type 决定渲染成哪种图表  series: [  {  // 数据数组,数组项通常为具体的数据值,但也可以是包含值和样式的对象  data: [  120,                 // 周一的数据  {  value: 200,        // 周二的数据值  itemStyle: {       // 数据点的样式配置  color: '#a90000' // 将周二的数据点颜色设置为红色  }  },  150,                 // 周三的数据  80,                  // 周四的数据  70,                  // 周五的数据  110,                 // 周六的数据  130                  // 周日的数据  ],  // 图表类型,'bar' 表示柱状图  type: 'bar'  }  ]  
};  

1.3 扇形图

扇形图示例
在这里插入图片描述
代码介绍

// 注释说明:
// 1. 这个配置对象定义了一个饼图,展示了不同来源的访问量。
// 2. tooltip 组件用于在鼠标悬停时显示更详细的数据信息。
// 3. legend 组件用于显示图例,方便用户通过点击图例来筛选显示的数据系列。
// 4. series 定义了饼图的具体配置,包括名称、类型、半径范围、扇区样式、标签设置、高亮状态样式以及数据内容。
// 5. 在 series 的 data 数组中,每个对象代表一个扇区,包含数值(value)和名称(name)。
// 6. 注意:由于 label 的 show 属性被设置为 false,所以默认的标签不会显示,只有在扇区被高亮(如鼠标悬停)时,通过 emphasis 设置的标签才会显示。

// ECharts 配置对象  
option = {  // 提示框组件,用于展示更详细的数据信息  tooltip: {  // 触发类型,'item' 表示数据项图形触发,主要在类目轴(category axis)上使用  trigger: 'item'  },  // 图例组件,用于展示系列的标记(symbol)、颜色和名字  legend: {  // 图例组件距离容器上边界的距离,单位可以是像素(px)或百分比(%)  top: '5%',  // 图例组件距离容器左边界的距离,这里设置为居中  left: 'center'  },  // 系列列表,每个系列通过 type 决定渲染成哪种图表  series: [  {  // 系列名称,用于 tooltip 的显示,legend 的图例筛选  name: 'Access From',  // 图表类型,'pie' 表示饼图  type: 'pie',  // 饼图的半径范围,数组的第一项是内半径,第二项是外半径  radius: ['40%', '70%'],  // 是否启用标签的防重叠策略,这里设置为 false 表示不启用  avoidLabelOverlap: false,  // 扇形的圆角角度,用于绘制圆角的扇形  padAngle: 5,  // 扇形的样式设置  itemStyle: {  // 扇形的边框圆角  borderRadius: 10  },  // 标签的显示设置  label: {  // 是否显示标签  show: false,  // 标签的位置  position: 'center' // 注意:由于 show 设置为 false,这里的位置设置实际上不会生效  },  // 高亮状态的样式设置  emphasis: {  // 高亮时标签的显示设置  label: {  // 是否显示标签  show: true,  // 标签的字体大小  fontSize: 40,  // 标签的字体粗细  fontWeight: 'bold'  }  },  // 是否显示扇区到标签的连线  labelLine: {  show: false  },  // 数据内容数组,表示每个扇区的数值和名称  data: [  { value: 1048, name: 'Search Engine' }, // 搜索引擎来源  { value: 735, name: 'Direct' },         // 直接访问  { value: 580, name: 'Email' },          // 邮件营销  { value: 484, name: 'Union Ads' },      // 联盟广告  { value: 300, name: 'Video Ads' }       // 视频广告  ]  }  ]  
};  

2. 本地绘制图表

2.1 下载echarts.min.js

下载链接:https://gitee.com/hope_xi/common-js-files/blob/master/echarts.min.js#
选择echarts.min.js下载
在这里插入图片描述
如果觉得下载麻烦,也可以直接复制echarts.min.js代码,在本地创建echarts.min.js文件后把代码拷贝进取,保存。
在这里插入图片描述

2.2 创建一个简单的图形

常见一个demo.html文件,放入下方代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><!-- 为 ECharts 准备一个定义了宽高的 DOM --><div id="main" style="width: 600px;height:400px;"></div>
</body>
<!-- 引入刚刚下载的 ECharts 文件 -->
<script src="../js/echarts.min.js"></script>
<script>var chartDom = document.getElementById('main');var myChart = echarts.init(chartDom);var option;option = {tooltip: {trigger: 'item'},legend: {top: '5%',left: 'center'},series: [{name: 'Access From',type: 'pie',radius: ['40%', '70%'],avoidLabelOverlap: false,padAngle: 5,itemStyle: {borderRadius: 10},label: {show: false,position: 'center'},emphasis: {label: {show: true,fontSize: 40,fontWeight: 'bold'}},labelLine: {show: false},data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }]}]};option && myChart.setOption(option);
</script>
</html>

打开页面,便可看到echart图表
在这里插入图片描述
接下来就可以根据自己的项目选择合适的图表进行展示了。
具体图形设置可以观看echart配置项手册
后续我也会分享一些自己平时用到的好看的图表。

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

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

相关文章

【matlab画多纵坐标图像】

一 、什么是多纵坐标图像 多纵坐标图像是一种在同一个坐标系中&#xff0c;使用多个纵坐标轴来表示不同的数据指标的图像。在多纵坐标图中&#xff0c;每个纵坐标轴可以有不同的刻度和单位&#xff0c;用于表示不同的数据范围。这样可以方便地比较不同指标的变化趋势&#xff0…

动态顺序表的增删改查(数据结构)

目录 一、顺序表 二、静态顺序表 三、动态顺序表 3.1、动态顺序表的实现 3.2、动态顺序表的实现 3.3.1、结构体创建 3.3.2、初始化 3.3.3、销毁数据 3.3.4、增容空间 3.3.5、尾插数据 3.3.6、头插数据 3.3.7、删除尾数据 3.3.8、打印数据 3.3.9、删除头数据 3.3…

怎么绕开华为纯净模式安装软件

我是标题 众所周不知&#xff0c;华为鸿蒙系统自带纯净模式&#xff0c;而且 没法关闭 : ) 我反正没找到关闭键 以前或许会有提示&#xff0c;无视风险&#xff0c;“仍要安装”。但我这次遇到的问题是&#xff0c;根本没有这个选项&#xff0c;只有“应用市场”和“取消”&…

鸿蒙OS开发之动画相关示例分享, 关于弹出倒计时动画的实战案例源码分享

基础动画案例 Entry Component struct Index {StatebtnWidth:number 200 // 按钮的宽度StatebtnHeight:number 100 // 按钮的高度build() {Row(){Column(){Button("测试").width(this.btnWidth).height(this.btnHeight)// 按钮: 用来启动动画Button("动画开始…

XWF使用指南

简介 X-Ways Forensics 是由 Stefan Fleischmann 编写的一个轻量化的应急响应及取证工具&#xff0c;是 WinHex 的法证版本&#xff0c;因此界面逻辑和 WinHex 较为相似。在配置好 mplayer 的情况下&#xff0c;程序总体积在 100MiB 左右&#xff0c;运行时内存占用极低&#…

c++ 继承 和 组合

目录 一. 继承 1.1 继承的概念 1.2 继承定义 1.3 继承类模板 1.4. 继承中的作用域 二. 派生类&#xff08;子类&#xff09;的默认成员函数 2.1 概念&#xff1a; 2.2 实现⼀个不能被继承的类 2.3 继承与友元 2.4继承与静态成员 三.多继承及其菱形继承问题 3.1继承方…

市场调研利器 网络问卷的优势及面临的挑战

网络问卷作为市场调研工具&#xff0c;高效便捷、成本低廉、数据准确度高且灵活多样。但其低响应率、数据偏差、隐私与安全及技术依赖等挑战也需关注。企业应优化调研方法&#xff0c;应对挑战&#xff0c;以获取全面市场信息。 一、网络问卷的优势 首先&#xff0c;我们来分析…

sheng的学习笔记-AI-时序差分学习

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 强化学习&#xff1a;sheng的学习笔记-AI-强化学习&#xff08;Reinforcement Learning, RL&#xff09;-CSDN博客 蒙特卡罗强化学习&#xff1a; sheng的学习笔记-AI-蒙特卡罗强化学习-CSDN博客 什么是时序差分学习 时序…

毕业设计选题:基于ssm+vue+uniapp的校园订餐小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

北斗三号多模对讲机TD70:公专网融合、数模一体、音视频调度,推动应急通信效能升级

随着国家对应急通信和精准定位技术的重视程度不断提高&#xff0c;相关技术和设备的研发与应用也得到了迅猛发展。特别是在边防巡逻、林业巡防、海上作业等领域&#xff0c;通信设备的可靠性和功能性直接关系到人员的生命安全和任务的成功完成。 近年来&#xff0c;我国政府高度…

python 高效读取多个geojson 写入一个sq3(Sqlite) 、效率提高90%+

1.问题缘由&#xff1a; 由于工作需求&#xff0c;需要将多个&#xff08;总量10G&#xff09;geojson文件写入到sq3库&#xff0c;众所周知&#xff0c;sqlite 不支持多线程写入&#xff0c;那该怎么办呢&#xff0c;在网上也查了很多策略&#xff0c;都没有达到立竿见影的效果…

工控主板在工业控制中扮演什么角色

工控主板在工业控制中扮演着至关重要的角色&#xff0c;它是工业控制系统的核心组件&#xff0c;负责连接、控制和管理各种工业设备&#xff0c;实现自动化生产和智能化管理。具体来说&#xff0c;工控主板在工业控制中的作用可以归纳为以下几个方面&#xff1a; 一、核心控制…

年龄性别与手势识别系统源码分享

年龄性别与手势识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comput…

计算机视觉学习路线:从基础到进阶

计算机视觉学习路线&#xff1a;从基础到进阶 计算机视觉&#xff08;Computer Vision&#xff09;是人工智能和机器学习领域中重要的分支&#xff0c;致力于让计算机能够理解和分析图像、视频等视觉信息。随着深度学习的发展&#xff0c;计算机视觉的应用变得越来越广泛&…

Python 解析 html

一、场景分析 假设有如下 html 文档&#xff1a; 写一段 python 脚本&#xff0c;解析出里面的数据&#xff0c;包括经度维度。 <div classstorelist><ul><li lng"100.111111" lat"10.111111"><h4>联盟店1</h4><p>…

基于Qt/C++UDP 调试软件功能及用途介绍

概述 UDP 调试软件是一个基于 Qt 框架的图形化应用程序&#xff0c;旨在提供一个简单易用的界面用于测试和调试 UDP&#xff08;用户数据报协议&#xff09;通信。该软件支持客户端和服务器模式&#xff0c;能够实现数据的发送和接收&#xff0c;方便开发者和网络工程师进行网…

牛顿迭代法求解x 的平方根

牛顿迭代法是一种可以用来快速求解函数零点的方法。 为了叙述方便&#xff0c;我们用 C C C表示待求出平方根的那个整数。显然&#xff0c; C C C的平方根就是函数 f ( x ) x c − C f(x)x^c-C f(x)xc−C 的零点。 牛顿迭代法的本质是借助泰勒级数&#xff0c;从初始值开始快…

C++ | Leetcode C++题解之第438题找到字符串中所有字母异位词

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> findAnagrams(string s, string p) {int sLen s.size(), pLen p.size();if (sLen < pLen) {return vector<int>();}vector<int> ans;vector<int> count(26);for (int i …

828华为云征文|基于华为云Flexus X实例部署Uptime-Kuma服务器监控面板

目录 前言 一、Flexus云服务器X介绍 1.1 Flexus云服务器X实例简介 1.2 Flexus云服务器X实例特点 1.3 Flexus云服务器X实例场景需求 二、Flexus云服务器X购买 2.1 Flexus X实例购买 2.2 重置密码 2.3 登录服务器 三、Flexus X安装uptime-kuma面板 3.1 uptime-kuma介绍 3.2 uptim…

【频分复用】5G中OFDM和GFDM的比较(频谱效率、误码率、星座图、复杂度)【附MATLAB代码及报告】

微信公众号&#xff1a;EW Frontier QQ交流群&#xff1a;554073254 背景 5G需要满足低延迟、高数据速率、连接密度和其他应用需求&#xff0c;这些应用需要增强的移动的宽带、超可靠和低延迟连接以及海量机器类型连接[1]。这种通信所需的信道容量受到噪声、衰减、失真和符号间…