使用HighCharts描绘多个Y轴的动态曲线。

调试了一整天,终于显示出来了。

详细例子参照官网的demo:http://www.hcharts.cn/demo/index.php

在这只贴出关键部分的JS代码

1. chart (就是在events的load里写一个实时获取的方法。通过json调用去后台拉新数据加到series里)


 1  chart: {
2 renderTo: ‘chart_spline‘, //图表放置的容器,DIV
3 defaultSeriesType: ‘spline‘, //图表类型为曲线图
4 events: {
5 load: function () {
6 //获取series对象
7 var a= this.series[0];
8 var b= this.series[1];
9 var c= this.series[2];
10 setInterval(function () {
11 //add new item from json request to a
12 $.getJSON(
13 "/xxxxxxxxxxxxxxxx/",
14 function (data) {
15 $.each(data, function (k, v) {
16 var x = (new Date()).setSeconds(0), // 当前时间
17 y = v.value; //Math.random() * 100;
18 a.addPoint([x, y], true, true);
19 });
20 });
21
22 //add new item from json request to b
23 $.getJSON(
24 "/xxxxxxxxxxxxxxxx/",
25 function (data) {
26 $.each(data, function (k, v) {
27 var x = (new Date()).setSeconds(0), // 当前时间
28 y = v.value; //Math.random() * 100;
29 b.addPoint([x, y], true, true);
30 });
31 });
32
33 //add new item from json request to c
34 $.getJSON(
35 "/xxxxxxxxxxxxxxxx/",
36 function (data) {
37 $.each(data, function (k, v) {
38 var x = (new Date()).setSeconds(0), // 当前时间
39 y = v.value; //Math.random() * 100;
40 c.addPoint([x, y], true, true);
41 });
42 });
43 },
44 //每隔60秒钟,图表更新一次
45 60000);
46 }
47 }
48 },

2.  series (就是图的折线数据,可以只提供Y值) 这里提供折线的初始数据,同样可以写个方法去后台抓初始数据。


 1 series: [{
2 name: ‘Tokyo‘,
3 data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
4 }, {
5 name: ‘New York‘,
6 data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
7 }, {
8 name: ‘Berlin‘,
9 data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
10 }]

3. tooltip
把这个也拿出来讲,是因为当多个折线的单位不一样时,可以通过判断当前点的series的命名来区分,即第2点定义的name。


 1 tooltip: {//当鼠标悬置数据点时的提示框
2 formatter: function () { //格式化提示信息
3 var info = ‘<b>‘ + Highcharts.dateFormat(‘%H:%M:%S‘, this.x) + ‘</b>‘;
4
5 if (this.series.name == ‘Tokyo‘) {
6 info += ‘<br/>‘ + this.series.name + ‘: ‘ +
7 this.y + ‘%‘;//单位
8 };
9 if (this.series.name == ‘New York‘) {
10 info += ‘<br/>‘ + this.series.name + ‘: ‘ +
11 this.y + ‘℃‘;//单位
12 };
13 if (this.series.name == ‘Berlin‘) {
14 info += ‘<br/>‘ + this.series.name + ‘: ‘ +
15 this.y + ‘$‘;//单位
16 };
17
18 return info;
19 },
20
21 },

使用HighCharts描绘多个Y轴的动态曲线。,布布扣,bubuko.com

时间: 2024-12-17 02:15:15

使用HighCharts描绘多个Y轴的动态曲线。的相关文章

Highcharts属性与Y轴数据值刻度显示Y轴最小最大值

Highcharts 官网:https://www.hcharts.cn/demo/highcharts Highcharts API文档:https://api.hcharts.cn/highcharts#yAxis.tickmarkPlacement Highcharts属性与Y轴数据值刻度显示Y轴最小最大值 Highcharts.setOptions({global:{useUTC : false}}); $(function(){ //声明报表对象 var chart = new Hig

Highcharts 丢失值区域图;Highcharts 反转x轴与y轴;Highcharts 曲线区域图;Highcharts 区间区域图;Highcharts 使用区间和线的区域图

Highcharts 丢失值区域图 chart 配置 将 chart 的 spacingBottom 属性设置为 30.表示图表间的间隔区间. var chart = { type: 'area', spacingBottom: 30 }; 实例 文件名:highcharts_area_missing.htm <html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程 | 菜鸟教

highcharts设置Y轴范围及根据Y轴范围设置不同颜色

yAxis : { title : { text : '数据' }, plotLines : [ { value : 0, width : 1, color : '#808080' } ], min: 30, //最小 tickInterval: 10, //步长 max:150,//最大 // 不同Y轴范围设置不同颜色 begin plotBands: [{ from: 30, to: 60, color: 'rgba(168, 255, 213, 0.3)', label: { text:

WPF Toolkit Chart--多Y轴显示

效果: <Window x:Class="Chart.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width=&quo

Jqplot(双Y轴)使用汇总

最近需要用Jqplot做双Y轴的Chart图,首先我找到了文档上的例子并对数据做了一些调整: 1.例子展示: var s1 = [["2002-01-01", 112000], ["2003-01-01", 122000], ["2004-01-01", 104000], ["2005-01-01", 99000], ["2006-01-01", 121000], ["2007-01-01&quo

【原】为DevExpress的ChartControl添加Y轴控制 和 GridControl中指定列添加超级链接

一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: 该代码实现的效果如下:   二.设置GridControl表格中的超级链接: 1.首先在表格的设计器中添加一个HyperLinkEdit 的 Repository: 2.将该Repository绑定到列表中的指定列中: 3.为第一步添加的rpLink控件添加Open_Link事件处理函数: 4.最

echart折线堆叠图 Y轴数据不堆叠

<!DOCTYPE html> <html> <head></head> <body>     <div class="row form-inline form-ranking">     <div class="form-group">         <label class="control-label">店铺:</label>   

matlab画二维直方图以及双y轴坐标如何修改另一边y轴的颜色

1.首先讲一下如何用hist画二维直方图 1 x=[-568179 -766698 -935586 -826865 -393971 -771826 -1529945 -1910695 -1694740 -926367 -306998 -844840 -1828334 -2062815 -2297296 -1498824 -411346 -827922 -1826636 -1844777 -1862918 -1881060 -746534 -100479 -845832 -1832756 -194

cocos2dx--- Node 绕Y轴旋转

step += 5; float ra = (float) CC_DEGREES_TO_RADIANS(step); float i = sinf(ra) * pNode->getCamera()->getZEye(); float j = cosf(ra) * pNode->getCamera()->getZEye(); pNode->getCamera()->setEyeXYZ(i, 0, j); cocos2dx--- Node 绕Y轴旋转,布布扣,bubuko.