企业快速开发平台Spring Cloud源码之Highcharts 异步加载数据曲线图表

 Highcharts 异步加载数据曲线图表

 

以下实例演示了异步加载数据曲线图表。这边我们通过 jQuery.getJSON() 方法从异步加载 csv 文件:

我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看个完整实例:

 需要框架源码的朋友可以看我个人简介联系我。


导入 data.js 文件

异步加载数据需要引入以下js 文件:


配置

X 轴

以每周为间隔设置 X 轴:

var xAxis = {
   tickInterval: 7 * 24 * 3600 * 1000, // 一周
   tickWidth: 0,
   gridLineWidth: 1,
   labels: {
      align: 'left',
      x: 3,
      y: -3
   }
};

Y 轴

以每周为间隔设置 Y 轴:

配置两个 Y 轴:

var yAxis = [{ // 左边 Y 轴
      title: {
         text: null
      },
      labels: {
         align: 'left',
         x: 3,
         y: 16,
         format: '{value:.,0f}'
      },
      showFirstLabel: false
  },{ // 右边 Y 轴
      linkedTo: 0,
      gridLineWidth: 0,
      opposite: true,
      title: {
         text: null
      },
      labels: {
         align: 'right',
         x: -3,
         y: 16,
         format: '{value:.,0f}'
      },
      showFirstLabel: false
   }
];

plotOptions

plotOptions用于设置图表中的数据点相关属性。

var plotOptions = {
   series: {
      cursor: 'pointer',
      point: {
         events: {
            click: function (e) {
               hs.htmlExpand(null, {
                  pageOrigin: {
                     x: e.pageX || e.clientX,
                     y: e.pageY || e.clientY
                  },
                  headingText: this.series.name,
                  maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) 
                     + ':
 ' + this.y + ' visits',                   width: 200                });             }           }       },       marker: {         lineWidth: 1       }    } }

实例

文件名:highcharts_line_ajax.html




   Highcharts 教程 | xx教程(xxxxxx.com)
   
      
    


$(document).ready(function() {    var title = {       text: 'Daily visits at www.highcharts.com'       };    var subtitle = {       text: 'Source: Google Analytics'    };    var xAxis = {       tickInterval: 7 * 24 * 3600 * 1000, // one week       tickWidth: 0,       gridLineWidth: 1,       labels: {          align: 'left',          x: 3,          y: -3       }    };    var yAxis = [{ // left y axis          title: {             text: null          },          labels: {             align: 'left',             x: 3,             y: 16,             format: '{value:.,0f}'          },          showFirstLabel: false       },{ // right y axis          linkedTo: 0,          gridLineWidth: 0,          opposite: true,          title: {             text: null          },          labels: {             align: 'right',             x: -3,             y: 16,             format: '{value:.,0f}'          },          showFirstLabel: false       }    ];       var tooltip = {       shared: true,       crosshairs: true    }    var legend = {       align: 'left',       verticalAlign: 'top',       y: 20,       floating: true,       borderWidth: 0    };    var plotOptions = {       series: {          cursor: 'pointer',          point: {             events: {                click: function (e) {                   hs.htmlExpand(null, {                      pageOrigin: {                         x: e.pageX || e.clientX,                         y: e.pageY || e.clientY                      },                      headingText: this.series.name,                      maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x)                          + ':
 ' + this.y + ' visits',                      width: 200                   });                }             }          },          marker: {             lineWidth: 1          }       }    }        var series =  [{          name: 'All visits',          lineWidth: 4,          marker: {             radius: 4          }       }, {          name: 'New visitors'       }]    var json = {};    json.title = title;    json.subtitle = subtitle;    json.xAxis = xAxis;    json.yAxis = yAxis;    json.tooltip = tooltip;    json.legend = legend;    json.series = series;    json.plotOptions = plotOptions;        $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=analytics.csv&callback=?', function (csv) {       var data = {          csv: csv       };       json.data = data;       $('#container').highcharts(json);    });    });

以上实例输出结果为:


请使用浏览器的分享功能分享到微信等