Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highchart:从java传递序列映射时打印日期时间图表问题_Javascript_Java_Datetime_Highcharts - Fatal编程技术网

Javascript Highchart:从java传递序列映射时打印日期时间图表问题

Javascript Highchart:从java传递序列映射时打印日期时间图表问题,javascript,java,datetime,highcharts,Javascript,Java,Datetime,Highcharts,我试图在highchart中绘制日期时间图。我正在通过java HashMap传递序列图,并在js中访问它,如下所示: var chartRoot = '#{value}'.evalJSON(true); 并将地图按如下顺序依次输入: series : [{color:'#057E7E', data : chartRoot.series[0].y1axis, name

我试图在highchart中绘制日期时间图。我正在通过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
                                  }]
其中,Y1轴和Y2轴是包含2 y轴数据的哈希映射

我不能画这样的图。我甚至将哈希映射的类型更改为,但它不起作用。 请帮帮我,我是海查特的新手


提前感谢。

您的数据有问题。当前您有一个对象:

{ 
  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]]);
}

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

您能展示一下在
chartRoot.series[0].y1axis
中有什么吗?例如
console.log(chartRoot.series[0].y1axis)
Object{1325376000000=1.09,1330560000000=1.66,133323840000000=0.55,更多…}基本上,它是一个long类型的映射,Float,long表示我使用的测试highchart文件中的时间(毫秒):data:[1325376000000,5],[1328054400000,10],[1330560000000,25],[13332384000000,35],[1335830400000,68]]这些都在完美地工作。我不知道我上面的代码出了什么问题。我怀疑是数据的格式出了问题。是否有任何方法可以将chartRoot.series[0].y1axis中的对象{1325376000000=1.09}更改为javascript中的[[1325376000000,5]]。请参考上述评论