2017-11-25 7 views
1

をV4するV3を変換する私は、バージョン4にバージョン3からD3を変換しようとしていますが、私はこのエラーを取得:D3のtickFormatエラー -

Uncaught Error: invalid format: function (d) { 
      var prefix = d3.formatPrefix(d); 
      return prefix.scale(d) + prefix.symbol; 
     } 

誰かがこの問題を解決する方法を教えてもらえますか?

var xScale = d3.scaleLinear() 
     .range([0, width]) 
    .domain([2000, 2018]) 
     .domain(d3.extent(countries, function(d) { return d.published_year; })) 

//Set new x-axis 
var xAxis = d3.axisBottom() 
    .ticks(10) 
    .tickFormat(function (d) { 
     return xScale.tickFormat((mobileScreen ? 4 : 8),function(d) { 
      var prefix = d3.formatPrefix(d); 
      return prefix.scale(d) + prefix.symbol; 
     })(d); 
    }) 

    .scale(xScale); 
//Append the x-axis 
wrapper.append("g") 
    .attr("class", "x axis") 
    .attr("transform", "translate(" + 0 + "," + height + ")") 
    .call(xAxis); 

更新: 私はV4のD3で、私は1行でそれをやったジョンの助けを借りて、x軸上の年を見せたかった:

var xScale = d3.scaleLinear() 
    .range([0, width]) 
    .domain([2000, 2018]) 
    .domain(d3.extent(countries, function(d) { return d.published_year; })) 

//Set new x-axis 
var xAxis = d3.axisBottom() 
    .ticks(10) 
    .tickFormat(d3.format("")) 
    .scale(xScale); 
+0

あなたの編集に関しては、年が整数値の場合は、目盛フォーマッタを指定する必要さえないかもしれません。 – John

+0

ああ、そうだよ。ありがとう。 – Prstoo

答えて

関連する問題