Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 d3图表抛出无法解释的错误_Javascript_D3.js - Fatal编程技术网

Javascript d3图表抛出无法解释的错误

Javascript d3图表抛出无法解释的错误,javascript,d3.js,Javascript,D3.js,我正在用ajax调用创建一些图表。它们中的大多数都工作得很好,但有些不工作,并且会抛出错误 我创建如下数据: function buybox() {

我正在用ajax调用创建一些图表。它们中的大多数都工作得很好,但有些不工作,并且会抛出错误

我创建如下数据:

function buybox() {                                                                                                                     
                                                                                                                                        
    var cust_price = [],                                                                                                                
        buy_price = [];                                                                                                                 
    for (var i = 0; i < data.length; i++) {                                                                                             
        cust_price.push({x: parseInt(data[i].ssc) + '000', y: (isNaN(parseFloat(data[i].cust))) ? 0.00 : parseFloat(data[i].cust)});    
        buy_price.push({x: parseInt(data[i].ssc) + '000', y: (isNaN(parseFloat(data[i].buy))) ? 0.00 : parseFloat(data[i].buy)});       
    }                                                                                                                                   
                                                                                                                                        
                                                                                                                                        
    return [                                                                                                                            
        {                                                                                                                               
            area: true,                                                                                                                 
            values: cust_price,                                                                                                         
            key: "Mein Preis",                                                                                                          
            color: "#81d4fa"                                                                                                            
        },                                                                                                                              
        {                                                                                                                               
            area: true,                                                                                                                 
            values: buy_price,                                                                                                          
            key: "Buybox Preis",                                                                                                        
            color: "#7cb342"                                                                                                            
        }                                                                                                                               
                                                                                                                                        
    ];                                                                                                                                  
}                                                                                  
对于未定义的错误d:

      var pointPaths = wrap.select('.nv-point-paths').selectAll('path')
          .data(voronoi);
      pointPaths.enter().append('path')
          .attr('class', function(d,i) { return 'nv-path-'+i; });
      pointPaths.exit().remove();
      pointPaths
          .attr('d', function(d) {
     /* error in this line */       if (d.data.length === 0)
                return 'M 0 0'
            else
                return 'M' + d.data.join('L') + 'Z';
          });
                                             
data.ssc是时间戳,data.buy/data.cust是价格

如果出现错误vb,则图形如下所示:

function buybox() {                                                                                                                     
                                                                                                                                        
    var cust_price = [],                                                                                                                
        buy_price = [];                                                                                                                 
    for (var i = 0; i < data.length; i++) {                                                                                             
        cust_price.push({x: parseInt(data[i].ssc) + '000', y: (isNaN(parseFloat(data[i].cust))) ? 0.00 : parseFloat(data[i].cust)});    
        buy_price.push({x: parseInt(data[i].ssc) + '000', y: (isNaN(parseFloat(data[i].buy))) ? 0.00 : parseFloat(data[i].buy)});       
    }                                                                                                                                   
                                                                                                                                        
                                                                                                                                        
    return [                                                                                                                            
        {                                                                                                                               
            area: true,                                                                                                                 
            values: cust_price,                                                                                                         
            key: "Mein Preis",                                                                                                          
            color: "#81d4fa"                                                                                                            
        },                                                                                                                              
        {                                                                                                                               
            area: true,                                                                                                                 
            values: buy_price,                                                                                                          
            key: "Buybox Preis",                                                                                                        
            color: "#7cb342"                                                                                                            
        }                                                                                                                               
                                                                                                                                        
    ];                                                                                                                                  
}                                                                                  

如果发生错误d,图形如下所示(看起来完全正常):

如果没有错误,它们看起来就是这样的:

(所有这些图表都有不同的数据,所以不要介意不同的视图)

无论发生上述哪种错误,图表都会按其应有的方式呈现,但如果出现错误,工具提示将不起作用。以下是工具提示生成器:

        chart2.tooltipContent(function (key, y, e, graph) {
            var date = new Date(parseInt(graph.point.x));
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var hours = date.getHours();
            var minutes = "0" + date.getMinutes();
            var formattedTime = day + '.' + month + '. - ' + hours + ':' + minutes.substr(minutes.length-2);
            return '<div class="text-center" style="padding:10px;"><span class="text-center"><strong>' + key + '</strong></span><br><span class="text-center">' + formattedTime + '</span><br><span class="text-center"><strong>' + e + ' €</strong></span></div>'
        })
chart2.tooltipContent(函数(键、y、e、图形){
变量日期=新日期(parseInt(graph.point.x));
var day=date.getDate();
var month=date.getMonth()+1;
var hours=date.getHours();
var minutes=“0”+date.getMinutes();
var formattedTime=day+'.+month+'.-'+hours+':'+minutes.substr(minutes.length-2);
返回“”+key+”
“+formattedTime+”
“+e+”€' })
有人知道如何解决这个问题吗