ECharts插件的使用
ECharts插件:官网下载echarts.js开发者可以选择源码。
下载地址:http://echarts.baidu.com/download.html
下载之后,echarts.js放在js文件夹,后续使用。
下载html模板:http://echarts.baidu.com/examples/index.html


在这里可以发现好多好用的模板。选择一个自己喜欢的模板点击进去,点击Download
把下载的html文件打开,这时候html使用的是远程的js文件,直接打开是有效果的,因为它可以访问到,如果我们要放在程序中,尽量还是使用自己的本地的echarts.js,把下面截图这些去掉,引用我们刚开始下载的echarts.js,

上图注释掉 ,添加
<script type="text/javascript" src="js/echarts.js"></script>
这时候打开html,就变成了我们想要的效果,喜欢哪个插件就去下载使用哪个插件吧。
下图为替换好的效果图


好了,自己想要的插件已经可以展示了,但是怎样换成自己想要的数据呢?那我们要开始修改js了。每个html里面都有对应的js,这些js的作用就是把你想要展示的数据传递给插件,插件识别并且展示出效果。
我们拿地图这个插件来讲吧,它首先在地图上面设置一些城市坐标,如下图(好多城市,截图没有截完)

插件自带的这些城市基本上能满足需求,当然,你还可以自定义一些城市,同样放置在这里,比如:
"女儿国":[101.05,23.08],
"乌鸡国":[95.11,34.97],
"天竺":[122.02,37.93],
"四海八荒":[136.1,19.55],
把这些数据放在里面,同样可以展示自己想要的效果。
接下来给对应城市赋值,值越大,则标记的圆点越大,在右边的Top20排行越靠前,下面是模板赋值示例:

现在我们按照例子的方式给我们刚才自定义的几个城市进行赋值,让它们在地图上面显示出来。如果是后台穿过来的数据,可以通过for循环把值放到这个date里面赋值如下:
{name: "乌鸡国", value: 400},
{name: "女儿国", value: 300},
{name: "四海八荒", value: 193},
{name: "天竺", value: 380},
赋值完毕,刷新页面就可以了。效果如下图,额......坐标位置的问题,大家自己调整哈。但是为什么不显示“天竺”和“四海八荒”呢?因为我选择的区域里面没有“天竺”和“四海八荒”,这个是选中区域,对选中的区域进行top20展示的。

所以呢?我们框选全部区域如下图:

发现框选全部区域之后,“女儿国”和“乌鸡国”也没有了,经过研究代码发现,程序对选中的所有的值,取倒数30条(标题是Top20,但是程序里面是写的30,此处可以手动修改下面会讲),然后以从大到小的顺序排序。
原代码如下图:

selectedItems是所有选择的数据集合,maxBar是展示条数,maxBar=30则最多展示30条,maxBar=20则最多展示20条。我们拿30条来说,maxBar=30则通过for循环取selectedItems的前30条,因为selectedItems是按数据设置的value的值从小到大进行排序的,假如你选择了40条,程序只展示前30条,那么最后10条最大的数据是展示不出来的,我们通过修改程序进行修复。修复方法如下:
for (var i = 0; i < Math.min(selectedItems.length, maxBar); i++) {
if(selectedItems.length-maxBar>0){
categoryData.push(selectedItems[selectedItems.length-maxBar+i].name);
barData.push(selectedItems[selectedItems.length-maxBar+i].value[2]);
}else{
categoryData.push(selectedItems[i].name);
barData.push(selectedItems[i].value[2]);
}
}
修复后效果如下图:
图中为什么没有“四海八荒”呢?因为四海八荒设置的坐标太远了,没有框选到。
关于ECharts插件的使用,有不懂得可以查看ECharts的文档,这里有关于ECharts的详细解释,阅读参考文档,再配合自己研究代码,即可达到自己想要的效果。
附上文档地址:http://echarts.baidu.com/api.html#echarts

完毕!
ECharts插件的使用的更多相关文章
- angular引用echarts插件
方法一 1. 命令行下载 npm install echarts --savenpm install ngx-echarts --save 2. angular.json 配置echarts路径. 2 ...
- 项目中使用ECharts插件实现统计功能
一.前端界面 // 界面中定义一个div,放图表 <div id="box" style="width: 600px;height:400px;padding: 1 ...
- 【React】react项目引入echarts插件 K线图
参考npm文档:https://www.npmjs.com/package/echarts-for-react 由于npm上已经有针对react项目出的echarts插件,所以在这里直接安装 第一步: ...
- javascript相框echarts插件实现酷立方效果图的人
最近由于项目需求,我们需要做的一类似网络效应的人立方效果,很多文件中的查询之后.百度发现echarts开源组件非常适合,而加载速度是伟大的.echarts图形主要使用html5这些新功能做,使用can ...
- ECharts插件介绍(图表库)
ECharts是一个非常好用的插件,用于进行 树状图,折线图,饼图,地图等等,系列视图的绘制.(详情看官网) 了解: AMD:模块化开发方式: 引入文件后:console.log(echarts) / ...
- Echarts插件
<%@ page contentType="text/html;charset=UTF-8" language="java" %><% Str ...
- Vue2.0+elementUI使用echarts插件
1.npm安装echarts: $ npm install echarts -S 2.html代码: <template> <div id="chartColumn ...
- 百度echarts插件x轴坐标显示不全决解方法
X轴显示不全: xAxis.axisLabel.interval number, Function [ default: 'auto' ] 坐标轴刻度标签的显示间隔,在类目轴中有效. 默认会采用标签不 ...
- echarts插件-从后台请求的数据在页面显示空白的问题
最近的项目里面关于统计图方面的问题,有涉及到很多,也在博客里面更新了自己所遇到的问题,开发过程中会遇到很多问题,解决技术问题的方法也有千千万 图片.png 在百度上百度了一下,发现了问题所在之处,不得 ...
随机推荐
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- [编织消息框架][JAVA核心技术]annotation基础
应用动态代理技术要先掌握annotation技术 注解是JDK1.5之后才有的新特性,JDK1.5之后内部提供的三个注解 @Deprecated 意思是“废弃的,过时的” @Override 意思是“ ...
- mac SecureCRT设置
参考: http://www.2cto.com/os/201407/320292.html SecureCRT 设置 1)每次登陆都要输入密码: Global Option -> General ...
- vue2.0 实现导航守卫(路由守卫)
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求. 对此,vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards). 导航守卫 ...
- mysql如何执行关联查询与优化
mysql如何执行关联查询与优化 一.前言 在数据库中执行查询(select)在我们工作中是非常常见的,工作中离不开CRUD,在执行查询(select)时,多表关联也非常常见,我们用的也比较多,那么m ...
- .net随笔--不好归类的
1..cs .Designer.cs .resx三种文件 cs是类文件,不介绍了.Designer.cs是visual studio对cs类文件的自动生成代码的一种补充,在编辑器里用视图的方式对win ...
- ERP中自定义报表制作流程
查询制作流程 新增单表查询--查询语句设置--表格设置(列信息)--参数设置--关联设置--着色设置 报表设计需求(以差旅报销单为例) 1.制作按部门统计每个月的 报销金额并且可以关联到明细进行比对 ...
- Javascript中遍历数组方法的性能对比
Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...
- 编码与模式------《Designing Data-Intensive Applications》读书笔记5
进入到第四章了,本篇主要聊的点是编码(也就是序列化)与代码升级的一些场景,来梳理存储之中涉及到的编解码的流程.目前主流的编解码便是来自Apache的Avro,来自Facebook的Thrift与Goo ...
- HtmlWebpackPlugin实现资源的自定义插入
目前碰到的问题 我们用html-webpack-plugin的inject属性去自动插入打包后的js, css到页面中,但是如果想给script标签添加一个crossorigin属性呢, 例如: &l ...