2016-08-09 8 views
9

何らかの理由でd3.scaleが定義されていません。 D3が正しくロードされている。私の全体のHTMLファイルd3.scaleの取得は未定義です - codepenで動作します

InitiateChart_1(); 

function InitiateChart_1() 
{ 
    var data = [5,10,15,20,25]; 
    var height = 500, width = 500; 

    var xScale = d3.scale.linear() 
     .domain([0,60]) 
     .range([0,width]); 

    var canvas = d3.select("body") 
     .append("svg") 
     .attr("id","chart1") 
     .attr("width",width) 
     .attr("height",height); 

    var bars = canvas.selectAll("rect") 
     .data(data) 
     .enter() 
      .append("rect") 
      .attr("height",10) 
      .attr("width",function(d){return xScale(d);}) 
      .attr("y",function(d,i){return i * 12;}) 
} 

<!doctype html> 
<html> 
<head> 
    <title>SHED Report Prototype</title> 
    <meta charset='utf-8'> 
    <script src="https://d3js.org/d3.v4.min.js"></script> 
</head> 
<body> 
    <script src='js/studentloans.js'></script> 
</body> 
</html> 

すべてのヘルプは非常にある私は、メインd3js.orgサイトに記載されている1 here.

にD3コードを扱う私のJSファイルを使用しています感謝。

+0

[未定義のd3.scale in Typescript]の可能な複製(http://stackoverflow.com/questions/38218891/undefined-d3-scale-in-typescript) –

答えて

28

codepenはバージョン3を使用しています。このコードはバージョン4のAPIを使用しています。 d3.scale.lineard3.scaleLinearになりました。

[...]しかし、ES6モジュールを採用した1つの避けられない結果であり: はD3 4.0内のすべてのシンボルが、今はむしろD3 3.xのの1を入れ子に よりフラットな名前空間を共有しますたとえば、d3.scale.linearは d3.scaleLinearになり、d3.layout.treemapはd3.treemapになりました。 [...]

からhttps://github.com/d3/d3/blob/master/CHANGES.md (強調鉱山)

+0

ありがとうございます。私はそれを無駄にしようとしていたと思った。しかし、それは成功しました。 –

3

使用d3.scaleLinear、ないd3.scale.linear。これは古いバージョンの場合のみですd3.js

関連する問題