Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Django模板中获取JSON字符串并加载到D3图形中_Javascript_Json_Django_D3.js - Fatal编程技术网

Javascript 从Django模板中获取JSON字符串并加载到D3图形中

Javascript 从Django模板中获取JSON字符串并加载到D3图形中,javascript,json,django,d3.js,Javascript,Json,Django,D3.js,到目前为止,我正在使用: var voltString = {{volts}}; var battVoltage = JSON.parse(voltString); 然后将其用于: .datum(battVoltage) 但它的工作方式似乎与从站点中提取的示例不同。下面显示了这方面的代码,但带有来自函数的测试数据 /*Wrapping in nv.addGraph allows for '0 time out render'*/ /*stores rendered charts in n

到目前为止,我正在使用:

var voltString = {{volts}};
var battVoltage = JSON.parse(voltString);
然后将其用于:

.datum(battVoltage)
但它的工作方式似乎与从站点中提取的示例不同。下面显示了这方面的代码,但带有来自函数的测试数据

  /*Wrapping in nv.addGraph allows for '0 time out render'*/
/*stores rendered charts in nv.graphs*/
nv.addGraph(function() {
    var chart = nv.models.cumulativeLineChart()
        .useInteractiveGuideline(true)
        .x(function(d) { return d[0] })
        .y(function(d) { return d[1]/100 })
        .color(d3.scale.category10().range())
        .average(function(d) { return d.mean/100; })
        .duration(300)
        .clipVoronoi(false);
    chart.dispatch.on('renderEnd', function() {
        console.log('render complete: cumulative line with guide line');
    });

    chart.xAxis.tickFormat(function(d) {
        return d3.time.format('%m/%d/%y')(new Date(d))
    });

    chart.yAxis.tickFormat(d3.format(',.1%'));

    d3.select('#chart1 svg')
        /*Replace with reference to imported JSON data*/
        .datum(cumulativeTestData())
        .call(chart);

    //Could automate this?
    nv.utils.windowResize(chart.update);

    chart.dispatch.on('stateChange', function(e) { nv.log('New State:', JSON.stringify(e)); });
    chart.state.dispatch.on('change', function(state){
        nv.log('state', JSON.stringify(state));
    });

    return chart;
});

function cumulativeTestData() {
    return [
Some array
];
}
传入的电压串如下所示:

'volts': '[{"fields": {"logtime": "2013-12-13T18:12:57Z", "gen_voltage": ' '"11.63"}, "pk": 1, "model": "uploads.data"}, {"fields": ' '{"logtime": "2013-12-13T18:43:27Z", "gen_voltage": "11.47"}, ' '"pk": 2, "model": "uploads.data"}, {"fields": {"logtime": ' '"2013-12-13T19:14:00Z", "gen_voltage": "11.67"}, "pk": 3, ' '"model": "uploads.data"}, {"fields": {"logtime": ' '"2013-12-13T19:44:34Z", "gen_voltage": "11.7"}, "pk": 4, "model": ' '"uploads.data"},.....]'}

如果查看页面源代码并查看
var voltString
实际等于什么,它是一个字符串吗?添加到问题代码的volts字符串中。我不确定这是否是一个错误,但是javascript图形代码中的某个错误?如果在浏览器中打开javascript控制台,是否有任何错误?如果没有,如果您只需键入
>battVoltage
并查看它的输出结果,我会在var voltStr={{volts}}处得到一个无效的属性ID;线但我不知道如何着手解决这个问题。