我正试图解决一个奇怪的问题。我从ajax调用中获取了一个json数组,并且我试图在高级游戏中绘制它。我已经映射了来自同一阵列的其他图表,一切都很好,直到我点击十进制数字(可能是同时发生)。在这种情况下,日期显示正常,但y轴(价格)为空。
现在,我可以'警告(s5)'并且数据显示在警报框中。 我还运行了一个consol日志并看到“[”5.15“,”4.94“,”4.43“,”4.49“,”4.42“,”4.41“]”(也许“数字中的”导致问题!?)< / p>
如果我手动将值放入highcharts数据中,它可以很好地工作,但我无法将数组分配给一个值并让它显示。
代码如下:
function draw_flow(garray)
{
var obj = JSON.stringify(garray);
obj = JSON.parse(obj);
s5 = obj["closeprice"][0];
ticks = obj["date"][0];
alert(s5); //THIS DISPLAYS DATA FINE! "5.15,4.94,4.43,4.42,4.41"
$('#chart3').highcharts({
chart: {
marginBottom: 80
},
xAxis: {
categories: ticks
},
yAxis: {
labels: {
align: 'left',
x: 0,
y: -2
}
},
series: [{
data: s5 //This does not work
//data: [5.15,4.94,4.43,4.42,4.41] //this works
}]
});
}
答案 0 :(得分:1)
你是对的。 Y轴未显示的原因是因为数据中的字符串。 (应该读作数字)
您必须将数据从字符串转换为可通过以下
实现的数字数组s5 = s5.map(Number);
这是一个示例jsFiddle,它在行动http://jsfiddle.net/e803sjsp/
中显示它答案 1 :(得分:0)
有点厚颜无耻,但你检查过s5实际上是一个数组,而不是逗号分隔值的字符串。您可能想尝试使用console.log来确保..