dygraph 1.1.1似乎错误地检测到数据源的范围值

时间:2017-01-01 01:33:11

标签: javascript dygraphs

我一直在努力想弄清楚如何让dygraphs与我的数据很好地配合。当它渲染图表时,它会切断显示屏中的大部分线条。但是,如果我向左侧滚动(移动+拖动),它会重新缩放视图并包含所有数据。看起来图表末尾的下降正在扭曲图表的视图。

这很简单,我在这里有一个示例数据文件:http://pasamio.com/~pasamio/dygraph/sample_data.json

以下是我用来吸引它的内容:

var dataURL = "http://pasamio.com/~pasamio/dygraph/sample_data.json";
var jsonData = null;

var jsonDataResult = $.ajax({
    url: dataURL,
    dataType: "json",
    async: false,
    success: (
        function(data) {
            jsonData = data;
        })
});

var data = new google.visualization.DataTable(jsonData);

var g = new Dygraph.GVizChart(document.getElementById("dg_div"));
g.draw(data, {"panEdgeFraction" : 0.1});

我在这里有一个示例jsfiddle,显示了不好的情况:https://jsfiddle.net/g6b6jp9z/5/

任何想法都在这里发生了什么?

1 个答案:

答案 0 :(得分:1)

作为danvk suggested,解决方案是将数字改为用引号括起来,使它们被视为字符串,只是JSON输出中的裸号。再次感谢danvk:)

原始文件包含以下部分:

"c": [
    {
        "v": "Date(2016, 10,  27, 00, 00, 00)"
    },
    {
        "v": "548"
    },
    {
        "v": "165"
    },
    {
        "v": "57"
    },
    {
        "v": "39"
    },
    {
        "v": "29"
    },
    {
        "v": "6"
    },
    {
        "v": "1"
    }
]

工作版看起来像这样:

"c": [
    {
        "v": "Date(2016, 10,  27, 00, 00, 00)"
    },
    {
        "v": 548
    },
    {
        "v": 165
    },
    {
        "v": 57
    },
    {
        "v": 39
    },
    {
        "v": 29
    },
    {
        "v": 6
    },
    {
        "v": 1
    }
]