【WEB】使用echarts.js搭建图形计算应用
条评论本文介绍如何使用echarts.js来创建一个图形计算软件,并打包成应用程序。生成的图像可以进行交互,也可以用作论文出图之用。
一、项目背景
现需根据若干公式生成两个变量的曲线图像。并由此探讨变量关系。常用于各类实验、仿真中,并可以利用生成的图像填写到论文中。
本文需要计算的公式如下图所示:
其中f是我们需要具体进行计算的数据,它由若干个参数确定。λ pu、λ mall、T都是常数。并且M需要由L和V HGB:pu确定,因此需要对其进行变形如下:
这样我们就能得到M的公式,后面只需进行计算即可。
另外在该项目中,需要求出L固定时,f与V HGB:pu的关系;V HGB:pu固定时,f与L的关系。也就是说要画出两个关系的函数图像。
二、技术思考
为了使应用程序轻量化且便于部署到各类平台中,这里主要考虑借助WEB技术,也就是说程序的核心是一个网页。这样的应用简单便携且界面美观。因此本文需要的技术基础包括基本的html及js语法知识。为了是应用界面更加漂亮,这里还是用了bootstrap前端框架对软件的界面进行制作。
三、装备工作
1、下载需要的js脚本。
这里需要的脚本包括三个方面:
jquery.js:使用jquery语法必备,主要为了使代码更加简洁。下载地址为jquery官方网站。
bootstrap.js:应用非常广泛的前端框架,能够通过简单的引入制作能适应多种设备比例的页面。下载地址为bootstrap官方网站。
echarts.js:百度出品的图像计算框架,用于绘制各种可交互的WEB图表下载地址为echarts.js。
2、建立文件结构
先将下载好的文件放到文件夹中,其文件结构为:
1 | index.html |
其中index.html由编辑器建立。
四、开发流程
1、编写界面
下面开始编写index.html,首先建立页面的基本数据输入框,代码如下:
1 | <!DOCTYPE html> |
其中主要使用了bootstrap框架,内部拥有13个输入框,两个预留的绘图区域,具体显示效果如下图所示:
2、编写核心计算js
根据如下图中的公式,我们要来构建出计算的核心函数。
使用js构建的代码如下:
1 | <script type="text/javascript"> |
这里的函数分别表示:
- countlg(l)用于计算λ g,输入变量为L。
- countlhgb(l,lm,lg)用于计算λ HGB,输入变量为L、λ mall、λ g。
- countm(l,vhgb)用于计算M,输入变量为L和V hgb。
- countf(m,l,lp,lhgb)用于计算M,输入变量为M、L、λ PU、λ HGB。
其中有几个点需要注意:
- Math.pow(a,b)代表计算a的b次方
- Math.sqrt(a)代表a的开放
3、完成基础计算行为
构建完核心计算的js代码后,需要对页面的行为进行构建,同样使用js代码,具体如下:
1 | <script type="text/javascript"> |
这里使用了jquery的语法用于获取输入框的值及给输入框赋值,也就是说通过左边的输入直接得到中间值及输出。
其中的关键点是这几个:
- $(“#count”)采用的是jquery选择器语法,#代表选择id为count的元素
- $(“#count”).click()代表点击id为count的按钮后所执行的函数,在click()的括号中输入。
- (‘#lg’).val()代表获取id为ig的元素的值,也就是输入框中的值;若在val()括号中输入值,将会把该值赋给该元素的值,这样就能完成输出结果的显示。
4、绘制图像
对基础计算编写完成后,我们需要绘制出两组图像。绘制图像的操作我们使用echarts.js插件来完成,具体代码如下:
1 | <script type="text/javascript"> |
仔细观察代码,我们会发现这样几个点:
- 在每一个绘图中我们构建了一个数组,数组含有n个元素,每个元素又是一个数组,包含两个元素,分别代表绘图的x轴和y轴。
- 绘制的区间由输入的最大和最小值构成。
- 计算代码利用核心js代码进行了几次迭代,最终由一行代码完成,若阅读吃力的话可以使用中间变量拆分开来分别计算。
使用echarts.js时,我们发现:
- 该插件先在html代码中使用div呈现,并标记了id。
- 插件的第一步是获取该div。
- 然后对图标进行配置。
在配置项中,有这样几个点,当然也可以在官网查看相关手册:
- tooltip代表提示项,用于在鼠标放上去时显示数据。
- grid代表图像显示的边界。
- xAxis、yAxis代表坐标轴显示的元素。
- series代表需要显示的数据及显示的类型。
- dataZoom代表坐标轴能否进行缩放。
将所有js代码和html代码合并放到一个index.html文件中就能完成该软件的核心代码的编写。现在我们运行一下试试看,通过点击得到如下的界面:
五、打包程序成可执行的exe程序
由于某些项目需要直接可以运行的exe程序,这里我们使用electron对程序进行打包。在安装好git和node.js的前提下使用cmd输入以下指令安装electron:
1 | npm install electron |
克隆一个electron示例项目
1 | git clone https://github.com/electron/electron-quick-start |
在C:\Users\用户名下找到克隆好的文件夹,使用cmd进入。然后输入
1 | electron |
即可查看示例生产的exe界面,我们将做好的软件移动到该文件夹覆盖index.html文件,然后使用
1 | electron-packager . 'HelloWorld' --platform=win32 --arch=x64 --icon=icon.ico --out=./out --asar --app-version=0.0.1 |
即可打包成功,其中HelloWorld是软件名,也可以修改图标窗口大小等配置,具体参考如官方文档。