【问题标题】:Error with d3 and crossfilter jsd3 和 crossfilter js 出错
【发布时间】:2018-05-21 15:10:45
【问题描述】:

我正在尝试使用 DC、D3 和交叉过滤器制作网页,但开发人员工具提醒我以下错误。

Uncaught ReferenceError: data is not defined

      d3.csv("mydata.csv", function(error, data) {
                                if (error) throw error;
                                console.log(data);
                            });
  var ndx = crossfilter(data);

  var ratingDim = ndx.dimension(function(d) { return d.rating; });
  var total_10 = ratingDim.filter(3);

  function print_filter(filter){
      var f=eval(filter);
      if (typeof(f.length) != "undefined") {}else{}
      if (typeof(f.top) != "undefined") {f=f.top(Infinity);}else{}
      if (typeof(f.dimension) != "undefined") {f=f.dimension(function(d) { return "";}).top(Infinity);}else{}
      console.log(filter+"("+f.length+") = "+JSON.stringify(f).replace("[","[\n\t").replace(/}\,/g,"},\n\t").replace("]","\n]"));
                            }
      print_filter("total_10");
    <script src="https://cdnjs.cloudflare.com/ajax/libs/dc/3.0.3/dc.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.12/crossfilter.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>


  

【问题讨论】:

    标签: javascript d3.js crossfilter


    【解决方案1】:

    我认为你应该这样处理你的问题:

    var data_url = "https://gist.githubusercontent.com/tikeda123/5e7cf7f40ea96a273273729cb6320e12/raw/198db29f442ef3a96b72fb57d72c56eaa8862c09/log.csv"
    d3.csv(data_url,
     function(data) {
       var ndx = crossfilter(data);
       /* Continue with your code here */ 
    });
        <script src="https://cdnjs.cloudflare.com/ajax/libs/dc/3.0.3/dc.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/crossfilter/1.3.12/crossfilter.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
    
    
      

    对于var ndx = crossfilter(data);,未定义数据(仅在csv 第一个回调中定义)。也正如它出现在文档 (learnjsdata.com/read_data.html) csv 第一个回调有一个参数,而不是两个......

    【讨论】:

      猜你喜欢
      • 2018-08-22
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2018-09-24
      相关资源
      最近更新 更多