Javascript D3js图形未生成:控制台上无错误

Javascript D3js图形未生成:控制台上无错误,javascript,svg,d3.js,Javascript,Svg,D3.js,我是svg和d3js的新手,我正在关注关于svg和d3js的教程 $('to')。在('change',function()上{ var endDate=新日期(Date.parse($('#to').val() )); var宽度=1024; var高度=500; var-margin={top:20,right:20,top:20,bottom:20}; var parseDate=d3.time.format(“%x%H”).parse; var xAxis=d3.svg.axis().s

我是svg和d3js的新手,我正在关注关于svg和d3js的教程

$('to')。在('change',function()上{
var endDate=新日期(Date.parse($('#to').val()
));
var宽度=1024;
var高度=500;
var-margin={top:20,right:20,top:20,bottom:20};
var parseDate=d3.time.format(“%x%H”).parse;
var xAxis=d3.svg.axis().scale(x)
.方向(“底部”)。刻度(30);
var yAxis=d3.svg.axis().scale(y)
.方向(“左”)。刻度(30);
var valueline=d3.svg.line()
.x(函数(d){返回x(d.timestamp);})
.y(函数(d){返回y(d.phaseOne);返回y(d.phaseTo);返回y(d.phaseThree);};
var svg=d3。选择(“图形”)
.append(“svg”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
var x=d3.time.scale().range([0,width]);
变量y=d3.scale.linear().range([height,0]);
d3.json('uploads/.json',函数(错误,数据){
data.forEach(函数(d){
d、 时间戳=解析日期(d.时间戳);
d、 pday_chan1=+d.day_chan1;
d、 d.day_chan2=+d.day_chan2;
d、 d.day_chan3=+d.day_chan3;
});
x、 域(d3.extent(数据,函数(d){返回d.date;}));
y、 域([0,d3.max(数据,函数(d){返回d.day_chan1;})];
y、 域([0,d3.max(数据,函数(d){返回d.day_chan2;})];
y、 域([0,d3.max(数据,函数(d){返回d.day_chan3;})];
追加(“路径”)
.attr(“d”,valueline(数据));
svg.append(“g”)//添加X轴
.attr(“类”、“x轴”)
.attr(“变换”、“平移(0)”、“高度+”)
.呼叫(xAxis);
svg.append(“g”)//添加Y轴
.attr(“类”、“y轴”)
.呼叫(yAxis);
}); 
}); 

我没有生成一行,而是尝试生成三行。代码没有显示任何错误,我不知道应该从哪里开始调试。任何指点都将不胜感激

你能提供一个提琴吗?我正在解析一个json文件,所以即使是我写的代码也会有很大的变化,而且我在d3不是专业人士。json文件正在加载吗?如果是的话,试着用这个打印出来<代码>d3.select('body').append('pre').text(JSON.stringify(data,null'))。它确实被加载了,这是我得到的格式[{“timestamp”:“12\/16\/2013 0:00”,“curr\u property”:“7211”,“curr\u property\u cost”:“123”,“day\u property”:“48”,“day\u property\u cost”:“281”,“curr\u solar\u-generating”:“4958”,“日太阳能输出”:“0”,“日太阳能输出”:“33”,“日太阳能输出”:“0”,“日太阳能1”:“1964”,“日太阳能2”:“4958”,“日太阳能3”:“289”,“日太阳能1”:“13”,“日太阳能2”:“33”,“日太阳能3”:“1”}]这里的问题是什么?你没有得到图表,你得到的图表是错误的吗?它是怎么错的?
$('#to').on('change',function() {
        var endDate = new Date(Date.parse( $('#to').val()   
                               ));
        var width= 1024;
        var height= 500;
        var margin = {top:20, right:20, top:20, bottom:20}; 
        var parseDate = d3.time.format("%x %H").parse;

        var xAxis = d3.svg.axis().scale(x)
                        .orient("bottom").ticks(30);

        var yAxis = d3.svg.axis().scale(y)
                         .orient("left").ticks(30);

        var valueline = d3.svg.line()
                                .x(function(d) { return x(d.timestamp); })
                                .y(function(d) { return y(d.phaseOne);  return y(d.phaseTwo); return y(d.phaseThree);});


        var svg = d3.select("#graph")
                        .append("svg")
                            .attr("width", width + margin.left + margin.right)
                            .attr("height", height + margin.top + margin.bottom)
                        .append("g")
                            .attr("transform","translate(" + margin.left + "," + margin.top + ")");




        var x = d3.time.scale().range([0, width]);
        var y = d3.scale.linear().range([height, 0]);
        d3.json('<?php echo base_url(); ?>uploads/<?php echo $username; ?>.json',function(error,data){
                data.forEach(function(d){
                    d.timestamp = parseDate(d.timestamp);
                    d.pday_chan1  = +d.day_chan1;
                    d.d.day_chan2  = +d.day_chan2;
                    d.d.day_chan3 = +d.day_chan3;
                });

        x.domain(d3.extent(data, function(d) { return d.date; }));
        y.domain([0, d3.max(data, function(d) { return d.day_chan1; })]);
        y.domain([0, d3.max(data, function(d) { return d.day_chan2; })]);
        y.domain([0, d3.max(data, function(d) { return d.day_chan3; })]);   

        svg.append("path")
            .attr("d", valueline(data));

        svg.append("g")         // Add the X Axis
            .attr("class", "x axis")
            .attr("transform", "translate(0," + height + ")")
            .call(xAxis);

        svg.append("g")         // Add the Y Axis
            .attr("class", "y axis")
            .call(yAxis);   
            }); 

    });