图表无法使用NVD3呈现正确的比例

时间:2014-01-23 21:35:12

标签: javascript graph charts d3.js nvd3.js

我还没有能够以正确的比例制作折线图,并且nvd3几乎不存在文档。如果我只使用第一组值(使用成功键),它就会显示。

我在这里有一个示例演示:http://jsfiddle.net/LBqk3/1/

代码/附加样本数据:

nv.addGraph(function () {
    var chart = nv.models.lineChart();

    chart.xAxis.axisLabel('Requests')
        .tickFormat(function (d) {
        return d3.time.format('%d %b')(new Date(d));
    });

    var y = d3.scale.linear()
        .range([400, 400]);

    chart.yAxis.axisLabel('Amount')
        .scale(y)
        .tickFormat(d3.format('.2f'));

    d3.select('#chart svg')
        .datum([{
        "values": [{
            "x": 1387893600000,
            "y": "170"
        }, {
            "x": 1387980000000,
            "y": "416"
        }, {
            "x": 1388066400000,
            "y": "743"
        }, {
            "x": 1388152800000,
            "y": "633"
        }, {
            "x": 1388239200000,
            "y": "500"
        }, {
            "x": 1388325600000,
            "y": "604"
        }, {
            "x": 1388412000000,
            "y": "683"
        }, {
            "x": 1388498400000,
            "y": "485"
        }, {
            "x": 1388584800000,
            "y": "509"
        }, {
            "x": 1388671200000,
            "y": "677"
        }, {
            "x": 1388757600000,
            "y": "610"
        }, {
            "x": 1388844000000,
            "y": "607"
        }, {
            "x": 1388930400000,
            "y": "538"
        }, {
            "x": 1389016800000,
            "y": "596"
        }, {
            "x": 1389103200000,
            "y": "609"
        }, {
            "x": 1389189600000,
            "y": "581"
        }, {
            "x": 1389276000000,
            "y": "503"
        }, {
            "x": 1389362400000,
            "y": "524"
        }, {
            "x": 1389448800000,
            "y": "515"
        }, {
            "x": 1389535200000,
            "y": "580"
        }, {
            "x": 1389621600000,
            "y": "592"
        }, {
            "x": 1389708000000,
            "y": "573"
        }, {
            "x": 1389794400000,
            "y": "597"
        }, {
            "x": 1389880800000,
            "y": "717"
        }, {
            "x": 1389967200000,
            "y": "2760"
        }],
        "key": "Missed"
    }])
        .transition()
        .duration(500)
        .call(chart);

    nv.utils.windowResize(chart.update);

    return chart;
});

1 个答案:

答案 0 :(得分:2)

问题是你的y值是字符串,你将它们视为数字。替换

"y": "604"

"y": 604
所有值的

等都应解决问题。