我在用highcharts javascript绘制json文件时遇到了问题。下面是我的代码。任何帮助都将不胜感激。
我的test.json文件只包含:[1, 2]
<html>
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript">
var a = $.get('test.json');
$(function () {
$('#container').highcharts({
chart: {
type: 'line'
},
series: [{
data: [a]
}]
});
});
</script></head>
<body>
<div id="container"></div>
</body>
</html>发布于 2014-07-09 14:30:29
我非常确定,如果你没有看到任何东西(或奇怪的图表),那是因为你应该看到:
data: a而不是
data: [a]数据字段应该是一个整数数组。因为它现在看起来像是一个整数数组,这会被Highcharts曲解。
发布于 2014-07-09 14:51:28
您将该数组作为一个元素传递到一个数组中,该数组产生一个整数数组。这使得它只在一些奇怪的情况下绘制,但并不总是如此。
奇数情况表示[1,2,3,4],这将不会绘制
例如[1,2,2,4]表示要在图表中的(1,2)和(2,4)位置绘制的两个点。
所以在你的例子中,它只绘制(1,2)处的点,而不是你想要的两个点,
1,2表示两个点,y值第一个在%1,第二个在%2
我认为这就是你得到的问题,而不是两个点,只绘制了一个点。
所以它应该是
date: a但不是
data: [a]发布于 2014-07-09 17:34:04
我认为问题出在你的AJAX调用上,根据docs的说法,你应该使用回调:
<script type="text/javascript">
$(function () {
$.get('test.json', function(data) {
$('#container').highcharts({
chart: {
type: 'line'
},
series: [{
data: data
}]
});
});
});
</script>所以:在回调中创建图表,在AJAX的数据到达JS之后调用。
https://stackoverflow.com/questions/24645946
复制相似问题