最近在用echarts做项目,抽点时间总结一下。

  首先说一下什么是echarts。echarts是百度开发的类似于fusioncharts的图表展示控件。区别于fusioncharts的是echarts是基于html5的,不需要浏览器安装flash控件。只需要浏览器支持HTML5即可。

  echarts主页:http://echarts.baidu.com/

  echarts效果展示:http://echarts.baidu.com/doc/example.html?qq-pf-to=pcqq.c2c

  echarts属性解读:http://echarts.baidu.com/doc/doc.html#Legend

  先贴一个代码实例:

<body>
<div id="main" style="height:800px;"></div><!--图表展示位置DIV-->
<script type="text/javascript">
// 路径配置
require.config({
paths: {
echarts:'asset/echarts'//echarts路径
}
}); // 使用
require(
[
'echarts',
'echarts/chart/bar',
'echarts/chart/line',
'echarts/chart/pie'    //使用的Echart类型,可在下面data部分查看。
],
function(ec){
var myChart = ec.init(document.getElementById('main'));//根据ID获取用于展示的DIV
option = {
title : {
text: '未来一周气温变化',    //图表标题
subtext: '纯属虚构'       //图表副标题
},
tooltip : {
trigger: 'axis'
},
legend: {
data:['最高气温','最低气温']  //图例
},
toolbox: {              //工具
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
xAxis : [              //X轴展示的内容
{
type : 'category',
boundaryGap : false,
data : ['周一','周二','周三','周四','周五','周六','周日']
}
],
yAxis : [              //y轴坐标
{
type : 'value',
axisLabel : {
formatter: '{value} °C'
}
}
],
series : [              //具体展示内容
{
name:'最高气温',                //展示内容1对应的图例
type:'line',                  //图表类型,需根据该类型引入相应的js
data:[11, 11, 15, 13, 12, 13, 10],     //图表内容
markPoint : {                 
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
markLine : {
data : [
{type : 'average', name: '平均值'}
]
}
},
{
name:'最低气温',
type:'line',
data:[1, -2, 2, 5, 3, 2, 0],
markPoint : {
data : [
{name : '周最低', value : -2, xAxis: 1, yAxis: -1.5}
]
},
markLine : {
data : [
{type : 'average', name : '平均值'}
]
}
}
]
};
myChart.setTheme("macarons");      //设置echarts的主题
myChart.setOption(option);        //在DIV上绘制图表
});
</script>
</body>

  下面就如何使用该控件进行一步一步讲解:

  首先引入echarts.js该js文件

  然后再页面中定义好需要展示图表的div的位置,并设置唯一ID。

  然后引入上图中的js代码块,修改相应的代码就OK了。

  修改代码前可以去echarts效果展示中查看相应的效果图,适用于自己的点进去复制左侧的代码,替换代码块中的option。然后添加用到的echarts类型相应的js。

应用过程中遇到的问题:

  1、堆叠式柱状图数据过于密集时数字重叠。

     解决方法:控制展示数据,当小于某个数时不展示,将下面代码添加到series中,修改if else 条件。

itemStyle: {
  normal: {
  label : {
  show: true, position: 'insideTop',
formatter:function(value){
  if(value.data<=2)
  return "";
else
return value.data;
}
}
}
},

  2、滚动条太高,覆盖数据

    解决方法:设置滚动条高度。

dataZoom : {
show : true, //滚动条是否展示
start : 0,  //滚动条开始位置--百分比
end : 25,  //滚动条结束为止--百分比
height:20  //滚动条高度
},

  3、y轴太窄,数据显示不全

    解决方法:控制图像面板的位置,使坐标轴区域面积变大。

grid: {
x: 110    //面板的开始位置,距div左侧的像素数
},

  4、点击柱子或节点相应事件

myChart.on("click",function(params,ctx){  if(params.seriesName=="图例"){//如果点击的柱子或节点是图例中的一个的时候,相应事件
    //事件
    }
  });
});

  5、控制鼠标悬浮显示内容,下面代码是控制如果是负数的时候显示正数。

tooltip : {
  trigger: 'item',
  formatter: function (params){
    if(params.value<=0)
      return params.name + '<br/>'+ params.seriesName + ' : ' + params.value*(-1);
    else
      return params.name + '<br/>'+ params.seriesName + ' : ' + params.value;
  }
},

echarts之我用的更多相关文章

  1. 一起来玩echarts系列(一)------箱线图的分析与绘制

    一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...

  2. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(67)-MVC与ECharts

    系列目录 ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Fire ...

  4. echarts+php+mysql 绘图实例

    最近在学习php+mysql,因为之前画图表都是直接在echart的实例demo中修改数据,便想着两相结合练习一下,通过ajax调用后台数据画图表. 我使用的是echart3,相比较第二版,echar ...

  5. 数据图表插件Echarts(一)

    一.引言 最近做一个智慧城市项目,项目中需要图表和报表进行数据分析,从网上找了很多,最后找到了百度开放的echarts,一个很强大的插件. 二.介绍 ECharts,缩写来自Enterprise Ch ...

  6. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  7. knockout+echarts实现图表展示

    一.需要学习的知识 knockout, require, director, echarts, jquery.简单的入一下门,网上的资料很多,最直接就是进官网校习. 二.效果展示 三.require的 ...

  8. ECharts 初识(基于MVC+jQuery+Angularjs实现的Demo)

    一.背景:      我们这行做web开发的,很多时候都需要做数据统计报表,现在我所使用的是来自百度团队的ECharts.官方网址:http://echarts.baidu.com/      我们知 ...

  9. Ionic2系列——在Ionic2中使用ECharts

    在群里看到有人问怎么在Ionic2中集成ECharts来显示图表.当时答应说写个blog,简单写下步骤. 在TypeScript中如果要使用第三方库,必须要有d.ts,也就是定义文件,没有这个文件的话 ...

  10. ECharts的简单使用过程

    网页中经常要使用图表,以前使用的是highcharts插件,现在发现echarts使用起来和highcharts差不多,但是个人感觉echarts更酷炫,以下是echarts的使用过程,其实highc ...

随机推荐

  1. Android插屏动画效果

    公司研发SDK,须要类似有米插屏的动画效果,研究了下,写了一个DEMO,凝视非常具体了. <span style="font-size:24px;">package c ...

  2. Jenkins安装与使用

    一.Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作 二.下载与安装 下载地址 ...

  3. You don&#39;t have permission to access &#215;&#215;&#215; on this server.

    之前开发项目一直在linux上用的xampp集成环境,前几天突然想移到window上面去. 開始在window上安装了一个集成环境(名字大概是 Uniform Service),把项目文件已过去, o ...

  4. [计算机故障]toshiba笔记本计算机无法正常启动,每次均需要按ESC

    同事一台toshiba的笔记本计算机,无法正常启动,每次均需要按ESC才可以正常后续动作. 之后系统可以正常工作. 排查过程: 1.尝试恢复bios到默认配置:不行,而且不小心搞了个蓝屏,还好记得是“ ...

  5. 【bzoj3676】[Apio2014]回文串 —— 回文自动机的学习

    写题遇上一棘手的题,[Apio2014]回文串,一眼看过后缀数组+Manacher.然后就码码码...过是过了,然后看一下[Status],怎么慢这么多,不服..然后就搜了一下,发现一种新东西——回文 ...

  6. http ssl

    http ssl

  7. Junit 测试基础

    /** * 1.测试函数以     @Test  注解, 函数名可以根据测试内容自定义但返回值必须是void,不能有参数 * 2.assertEquals(arg0,arg1); 用来判断期待值是否和 ...

  8. 4.7.3 Canonical LR(1) Parsing Tables

    4.7.3 Canonical LR(1) Parsing Tables We now give the rules for constructing the LR(1) ACTION and GOT ...

  9. POJ1385 Lifting the Stone 多边形重心

    POJ1385 给定n个顶点 顺序连成多边形 求重心 n<=1e+6 比较裸的重心问题 没有特别数据 由于答案保留两位小数四舍五入 需要+0.0005消除误差 #include<iostr ...

  10. POJ1584 A Round Peg in a Ground Hole 凸包判断 圆和凸包的关系

    POJ1584 题意:给定n条边首尾相连对应的n个点 判断构成的图形是不是凸多边形 然后给一个圆 判断圆是否完全在凸包内(相切也算) 思路:首先运用叉积判断凸多边形 相邻三条边叉积符号相异则必有凹陷 ...