百度图表数据插件echarts的初试

身为一个小前端,当得知需要在页面根据后台数据绘制统计数据的图表时,一筹莫展,幸好遇见了百度的ECharts插件,这款插件容易入手:

一下为初试:

prepare.js//稍微封装,易于复用

/*
*function getJson()
*为获取后台的数据json
*json.data为报表数据对应横轴的值
*json.name为报表横坐标的名称
*/
  function getJson(){
     var jsondata = {};
         jsondata.legendName = [];  //图表的表面
         jsondata.type = ‘line‘;  //设置其为折线图‘line‘,还是条形图‘bar‘
         jsondata.data = [];   //设置对应横轴的值
         jsondata.name = [];   //设置横轴的名称
         jsondata.color = [];  //设置柱形图颜色
         jsondata.trigger = ‘‘;  //设置拥有对应横轴的辅助线 axis,一般折线图会用到

     return jsondata;
  }

/*
*function setOptionData(json)
*设置报表的option样式
*参数json为设置样式和数据
*json.data为报表数据对应横轴的值
*json.name为报表横坐标的名称
*返回值:option
*/

function setOptionData(json){

    var option = {
            color : json.color,
            tooltip: {
                show: true,
                trigger: json.trigger
            },
            legend: {
                data:json.legendName
            },
            xAxis : [
                {
                    type : ‘category‘,
                    data : json.name
                }
            ],
            yAxis : [
                {
                    type : ‘value‘
                }
            ],
            series : [
                {
                    "name":json.legendName,
                    "type":json.type,
                    "data":json.data
                }
            ]
    };

  return option;
}

下面为两种不同的引入使用:

一种为模块化:

<!DOCTYPE html>
<html lang="zh-CN">
   <head>
         <meta charset="utf-8">
         <title>使用prepare.js</title>
         <script src="http://s1.bdstatic.com/r/www/cache/ecom/esl/1-6-10/esl.js"></script>
         <script src="prepare.js"></script>
   </head>
   <style>
       #draw{
             width: 80%;
             height: 400px;
             margin:0 auto;
       }
   </style>
   <body>
          <p>已下为报表</p>
          <div id="draw">
          </div>
   </body>
   <script>
         // 路径配置
        require.config({
            paths:{
                // ‘echarts‘ : ‘http://echarts.baidu.com/build/echarts‘,
                // ‘echarts/chart/bar‘ : ‘http://echarts.baidu.com/build/echarts‘
                ‘echarts‘: ‘echarts-2.0.3/build/echarts‘,
                ‘echarts/chart/bar‘:‘echarts-2.0.3/build/echarts.js‘
            }
        });

      require(
        [
            ‘echarts‘,
            ‘echarts/chart/bar‘ // 使用柱状图就加载bar模块,按需加载
        ],
        function(ec){

            var mydraw = {};
                mydraw.obj = document.getElementById("draw");
                mydraw.json = getJson();
                ////因为没有从后台获取统计的数据,所以在此初始化

                mydraw.json.legendName = [‘浏览量‘];
                mydraw.json.trigger = ‘axis‘;
                mydraw.json.type = ‘line‘;
                mydraw.json.color = [‘#e2e2e2‘];
                mydraw.json.data = [10,15,40,70,20,10,80,99,11,31,12,42];
                mydraw.json.name = [‘一月‘,‘二月‘,‘三月‘,‘四月‘,‘五月‘,‘六月‘,‘七月‘,‘八月‘,‘九月‘,‘十月‘,‘十一月‘,‘十二月‘];
                ////
                mydraw.option = setOptionData(mydraw.json);

             //   drawEchart(mydraw);
              var myChart = ec.init(mydraw.obj);
                  myChart.setOption(mydraw.option); 

       });
   </script>
</html>

另一种为非模块导入:

<!DOCTYPE html>
<html lang="zh-CN">
   <head>
         <meta charset="utf-8">
         <title>使用prepare.js</title>
      <script src="echarts-2.0.3/build/echarts-plain.js"></script>
         <script src="prepare.js"></script>
   </head>
   <style>
       #draw{
             width: 80%;
             height: 400px;
             margin:0 auto;
       }
   </style>
   <body>
          <p>已下为报表</p>
          <div id="draw">
          </div>
   </body>
   <script>
          window.onload = function(){

            var mydraw = {};
                mydraw.obj = document.getElementById("draw");
                mydraw.json = getJson();

                mydraw.json.legendName = [‘浏览量‘];
              mydraw.json.trigger = ‘axis‘;
                mydraw.json.type = ‘line‘;
              mydraw.json.color = [‘#e2e2e2‘];
                mydraw.json.data = [10,15,40,70,20,10,80,99,11,31,12,42];
                mydraw.json.name = [‘一月‘,‘二月‘,‘三月‘,‘四月‘,‘五月‘,‘六月‘,‘七月‘,‘八月‘,‘九月‘,‘十月‘,‘十一月‘,‘十二月‘];
                ////
                mydraw.option = setOptionData(mydraw.json);

                var myChart = echarts.init(mydraw.obj);
                  myChart.setOption(mydraw.option);
                }
   </script>
</html>

时间: 2024-11-05 12:26:35

百度图表数据插件echarts的初试的相关文章

百度开源项目插件 - Echarts 图表

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>ECharts</title> <script src="../../res

百度图表echars插件使用案例

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + &q

Echarts使用及动态加载图表数据

Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地域.访问者).全方位分析网站流量的统计标准,形成原始数据,数据视觉化,数据行为化,数据深入挖掘的数据分析的模式 2.指标(衡量数据) 指标是指可以按总数或比值衡量的具体维度元素.例如,维度"城市"可以关联指标"人口",其值为具体城市的居民总数  

10 款强大的JavaScript图表图形插件推荐

转自:http://www.iteye.com/news/24535 网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器和精密的计算使呈现实时数据变得容易,而且各种向量绘图技术像VML.SVG和Canvas的发展也使之成为可能. 本文推荐10款强大的绘制图表图形的JavaScript插件.其中一些插件需要主流浏览器的支持,而另外一些经过整合后,也能在不同的平台和老版本的浏览器上工作.有些工具是独立的框架,大部分支持常

【百度图表】页面引入多个图表,让其只适应

[百度图表]页面引入多个图表,让其只适应 网上发现有个这样的方法让图表自适应,window.onresize = myChart.resize; 但是发现好像只有最后一个有效,于是就有了下面的方法 就个数组保存myChart所有实例,然后每个都调用一下resize var charts = []; myChart = echarts.init(document.getElementById('main')); myChart.setOption(option); charts.push(myCh

5个最顶级jQuery图表类库插件-Charting plugin

转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li - GBin1.com英文: 5 Top jQuery Chart Libraries for Interactive Charts 目前对于简单快速的开发图的需要使得大家需要找到一种相对简单的方式来开发互动的图表.jQuery和其他js类库使得我们可以更容易的在(X)HTML中访问数据的呈现.

三大图表库:ECharts 、 BizCharts 和 G2,该如何选择?

最近阿里正式开源的BizCharts图表库基于React技术栈,各个图表项皆采用了组件的形式,贴近React的使用特点.同时BizCharts基于G2进行封装,Bizcharts也继承了G2相关特性.公司目前统一使用的是ECharts图表库,下文将对3种图表库进行分析比对. BizCharts 文档地址:BizCharts 一.安装 通过 npm/yarn 引入 npm install bizcharts --save yarn add bizcharts --save 二.引用 成功安装完成之

将Highcharts图表数据生成Table表格

有的时候,我们不仅仅需要漂亮的统计图来显示统计结果,还需要在统计图下方一个表格可以更加直观的展现各类数据.既然统计图都显示出来了,那我们可以根据统计图的各元素生成表格了. 首先,先显示统计图. Html----通过一个查询按钮,根据查询条件,查询满足条件的数据,显示到统计图中. <a onclick="Query();" >查询</a><center>   <div id="chartPro" style="wid

GapMinder气泡图:在线互动图表数据平台

GapMinder:在线互动图表数据平台是一个将国际统计数据转换成活动的.交互的和有趣的图表,以在线统计数据为基础的互动图表集的完美世界.目的是通过增进对可以自由访问的公共统计数据的使用和理解,以促进以事实为基础的世界观察. Gapminder是由一家瑞典的非营利组织开发而成,2007年三月Google买下该单位统计数据分析软体Trendalyzer,并将相关程式设计人员纳入Google大家庭. Trendalyzer为一基于网页(Web-based)之互动式统计数据浏览界面.一般预估,若该软体