项目场景:

使用第三方插件建立一个无限级目录的折线树图。

一、ECharts是什么?

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

二、为什么使用ECharts?

ECharts的优点:

(1)丰富的可视化类型

ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

(2)多种数据格式无需转换直接使用

ECharts 内置的 dataset 属性(4.0+)支持直接传入包括二维表,key-value 等多种格式的数据源,通过简单的设置 encode 属性就可以完成从数据到图形的映射,这种方式更符合可视化的直觉,省去了大部分场景下数据转换的步骤,而且多个组件能够共享一份数据而不用克隆。

(3)千万数据的前端展现

通过增量渲染技术(4.0+),配合各种细致的优化,ECharts 能够展现千万级的数据量,并且在这个数据量级依然能够进行流畅的缩放平移等交互。

以上是 ECharts优点的一部分,若想具体了解,可到官方手册的特性介绍查看,网址:特性 - Apache ECharts

二、使用步骤

1.获取 Apache ECharts

从 npm 获取:

npm install echarts --save

从 GitHub 获取:

apache/echarts 项目的 release 页面可以找到各个版本的链接。点击下载页面下方 Assets 中的 Source code,解压后 dist 目录下的 echarts.js 即为包含完整 ECharts 功能的文件。

2.引入 ECharts 文件

代码如下(示例):

<script src="./plugins/echarts/dist/echarts.min.js"></script>

3.设置一个容器

代码如下(示例):

<style>#frame{width: 79.8%;height: 750px;border: 1px solid #E1E1E1;float: left;border-left: 0;/*体系图的背景图修改为相应路径*/background-image: url("./plugins/echarts/img/1.png");background-repeat: no-repeat;background-size:100% 100%;}#container{float: left;border-left: 0;overflow:auto;width: 100%;height: 700px ;}
</style>
<div id="frame"><!--layui框架的固定块--><fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;"><legend style="margin-left: -44%">文件体系图</legend></fieldset><!--ECharts的容器--><div id="container"></div>
</div>

4.核心配置

代码如下(示例):

<script type="text/javascript">//官方数据请求路径const ROOT_PATH = 'https://cdn.jsdelivr.net/gh/apache/echarts-website@asf-site/examples';//获取存储divconst chartDom = document.getElementById('container');const myChart = echarts.init(chartDom);let option;//显示Loading标志; var myChart = echarts.init(document.getElementById('页面中div的id'));myChart.showLoading();//官方数据请求路径//$.get(ROOT_PATH + '/data/asset/data/flare.json', function (data) {$.getJSON("{url:/document_revision/echarts_ajax}",{status:1}, function (data) {//得到数据后隐藏Loading标志myChart.hideLoading();echarts.util.each(data.children, function (datum, index) {//间隔展开子数据,animate,display,physics,scale,vis是展开的index % 1 ===1  && (datum.collapsed = true);//只展开第一层//datum.collapsed = true;});myChart.setOption(option = {//提示框组件tooltip: {//触发类型,默认:item(数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用)。可选:'axis':坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。'none':什么都不触发。trigger: 'item',//提示框触发的条件,默认mousemove|click(鼠标点击和移动时触发)。可选mousemove:鼠标移动时,click:鼠标点击时,none:triggerOn: 'mousemove'},//系列列表series: [{//树形结构type: 'tree',//开启鼠标缩放和平移漫游roam:true,//id: 0,//上面从flare.json中得到的数据data: [data],//距离上top: '1%',//左left: '7%',//下bottom: '1%',//右的距离right: '20%',//直线树状图(存在缺陷,官网示例也是如此)//控制是否为折线edgeShape: 'polyline',//径向树状图//layout: 'radial',symbol: 'emptyCircle',//从上到下//orient: 'vertical',edgeForkPosition: '90%',itemStyle:{//颜色//color:'red',//圆点的线条类型 solid 实线 dashed 虚线 dotted 虚线(频度偏小)borderType:'solid',},lineStyle: {//线条粗细width: 2},//标记的大小,就是那个小圆圈,默认7symbolSize: 11,//每个节点所对应的标签的样式label: {shadowColor:'transparent',borderType:'dashed',normal: {//标签的位置position: 'left',//文字垂直对齐方式,默认自动。可选:top,middle,bottomverticalAlign: 'middle',//文字水平对齐方式,默认自动。可选:top,center,bottomalign: 'right',//标签文字大小fontSize: 13}},//叶子节点的特殊配置,如上面的树图示例中,叶子节点和非叶子节点的标签位置不同leaves: {label: {normal: {position: 'right',verticalAlign: 'middle',align: 'left'}}},//子树折叠和展开的交互,默认打开expandAndCollapse: true,//树图初始展开的层级(深度)initialTreeDepth : 2,//初始动画的时长,支持回调函数,默认1000animationDuration: 1550,//数据更新动画的时长,默认300animationDurationUpdate: 750}]});});//渲染数据option && myChart.setOption(option);
</script>

效果图

意外问题描述:

在使用折线树图时,发现收缩展开几次后,会出现乱版现象,到官网查看示例,亦是如此,如下图:

网址:Examples - Apache ECharts

解决方案:乱版是最新的几个版本才出现的(官网案例出错版本号:5.2.1,5.2.0两个版本),在以前的版本并没有乱版问题,下载的除这两个之外的版本即可。

ECharts折线树图的使用相关推荐

  1. d3.js 教程 模仿echarts折线图

    今天我们来仿echarts折线图,这个图在echarts是折线图堆叠,但是我用d3改造成了普通的折线图,只为了大家学习(其实在简单的写一个布局就可以).废话不多说商行代码. 1 制作 Line 类 c ...

  2. echarts折线图默认显示最后一个点的数据

    echarts折线图默认显示最后一个点的数据 想要达到这种效果图如下: 如果你给折线图设置数据显示,那么要不就全部隐藏,要不就全部显示在折线上.实现指定点的显示就需要你自己去处理这个数据了. 方式有两 ...

  3. Echarts折线图的平移假动画

    Echarts折线图的平移假动画 #可视化项目中经常用图表的方式来展示数据,折线图是经常出现的,但是在echarts折线图中正常情况是通过删除数据的第一个,添加一个新数据在数组的末尾来实现动画,此动画 ...

  4. echarts折线图设置圆点_echarts 设置折线图单个数据小圆圈样式

    在使用echarts 折线图时,可能会遇到针对不同的数据显示不同的小圆点样式,经过查看echarts配置项,其中data中有一个value配置项选项,可以单独设置某一个数据的显示样式,具体使用方式如下 ...

  5. echarts 折线图折线从头开始

    在echarts折线图中,默认折线从刻度中心开始,我们为了图标的美观有时需要折线从头开始显示,一个配置项就可以轻松搞定. boundaryGap:false

  6. echarts折线图 折现下方显示阴影

    echarts折线图 折现下方显示阴影 实现echarts折现下方显示渐变阴影区域 代码: series: [{name: this.chartPropList[this.dataResource]. ...

  7. echarts折线图动态多条线

    echarts折线图配置项 由于工作中遇到的图表特别多,每次用过配置项总是想不起来,在这里记录一下,希望也可以帮到路过的你.话不多说我们上图: 左边的是设计稿,右边的是echarts的示例图,我们先找 ...

  8. e-charts折线图自适应外层div大小

    问题描述: 在tabs页签下使用e-charts折线图,切换tab页签e-charts折线图无法自适应外层div大小: 解决方案: 添加监听器监听浏览窗口变化,两种监听方法 window.addEve ...

  9. echarts折线图堆叠怎么设置_ECharts折线图堆叠设置为不堆叠的方法

    下图是ECharts折线图堆叠的官方源码,设置折线图不堆叠只需要将每一个stack的值设置为不一样的名称或者将stack属性删除即可. option = { title: { text: '折线图堆叠 ...

最新文章

  1. ICRA 2021 | UPSLAM:联合全景SLAM
  2. .Net - Lambda 表达式
  3. server2008r2/2012R2遠程桌面-企业协议号
  4. SAP external long material id的奥妙
  5. selenium打开Firefox、IE、Chrome浏览器【python】
  6. m1 MBA配置Homebrew环境+国内源配置
  7. 设计配色专辑,很值得设计师拥有
  8. angular源码分析之platformBrowserDynamic
  9. 东宫初见计算机乐谱,东宫初见简谱歌词 曲风比较微美的抒情曲
  10. 全志F1c100s主线linux入坑记录 (2)芯片超频
  11. 抓包工具QPA使用教程
  12. GEE|typeof、ee.Algorithms.If、ee.Algorithms.IsEqual 语法
  13. 基于android的健康管理系统客户端的设计与实现,基于Android的健康管理系统客户端的设计与实现...
  14. 阿里云发送短信工具类
  15. 谷歌大神 Jeff Dean 的那些“惊人真相”
  16. gnuplot绘图程序中对线型(linetype)、点型(pointtype)、线条宽度(linewidth)、点大小(pointsize)、图样
  17. 蓝桥杯及其搜索算法总结
  18. 红黑树(算法导论版)
  19. 使用Fiddler5和雷电模拟器4.0.83的抓包配置
  20. 大数据信息资料采集:武志红公众号心理学历史文章采集评论搜集

热门文章

  1. 1703D. Double Strings
  2. 双非本科没有项目经历,如何进入BATJ等一线公司?
  3. Triton Meetup 2022
  4. 麦肯锡三部曲_天云数据副总裁李从武 | 数据中台三部曲
  5. 变味众筹:被玩坏之后,变得无所不筹
  6. javaweb技术笔记
  7. upload-labs-04
  8. 惠普在商用计算机的市场份额,惠普的笔记本市场份额达到了25.3% 排名第一
  9. 认识PLC可编程序控制器
  10. 真香系列之 Golang 升级