Highchart:从java传递系列图时绘制日期时间图表问题

时间:2016-03-03 11:24:31

标签: javascript java datetime highcharts

我正在尝试在高图中绘制日期时间图表。我从java HashMap传递系列映射并在js中访问它:

var chartRoot = '#{value}'.evalJSON(true);

将地图串联起来:

series : [{color:'#057E7E',
                                data : chartRoot.series[0].y1axis,
                                name:'#{empty y1axistitle ? '' : y1axistitle}',
                                type: 'line',
                                tooltip: {
                                    valuePrefix: ''
                               }
                              },{
                                color:'#FF8230',
                                data : chartRoot.series[0].y2axis,
                                name:'#{empty y2axistitle ? '' : y2axistitle}',
                                type: 'line',
                                tooltip: {
                                    valuePrefix: '$'
                               },
                                yAxis: 1
                                  }]

其中y1axis和y2axis是hashMap,数据为2 y轴。

我无法像这样绘制图表。我甚至改变了哈希映射的类型,但它没有用。 请帮帮我,我是高潮新手。

先谢谢。

1 个答案:

答案 0 :(得分:0)

您的数据存在问题。目前你有对象:

{ 
  1325376000000: 1.09, 
  1330560000000: 1.66, 
  1333238400000: 0.55, 
  more...
}

虽然应该有:

[ 
  [1325376000000, 1.09], 
  [1330560000000, 1.66], 
  [1333238400000, 0.55], 
  more...
]

您可以在JS中重新格式化:

var myData = [];

for (var time in chartRoot.series[0].y1axis) {
  myData.push([time, chartRoot.series[0].y1axis[time]]);
}

现在在myData选项中使用series.data