Highcharts JSON十进制数​​据格式问题

时间:2015-08-03 13:03:57

标签: javascript jquery highcharts

我正试图解决一个奇怪的问题。我从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
                }]
            });

        }

2 个答案:

答案 0 :(得分:1)

你是对的。 Y轴未显示的原因是因为数据中的字符串。 (应该读作数字)

您必须将数据从字符串转换为可通过以下

实现的数字数组
s5 = s5.map(Number);

这是一个示例jsFiddle,它在行动http://jsfiddle.net/e803sjsp/

中显示它

答案 1 :(得分:0)

有点厚颜无耻,但你检查过s5实际上是一个数组,而不是逗号分隔值的字符串。您可能想尝试使用console.log来确保..