何らかの理由で私はd3.scale
は未定義です。 D3は適切にロードされています。私はメインのd3js.orgサイトにリストされているものを使用しています here。
D3コードを処理するJSファイル:
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;})
}
私のHTMLファイル全体:
<!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>
どんな助けも大歓迎です。
Codepenはバージョン3を使用しています。このコードは、APIのバージョン4を使用しています。 d3.scale.linear
になった d3.scaleLinear
。
[...]ただし、ES6モジュールを採用すると避けられない結果が1つあります。D34.0のすべてのシンボルは、D3 3.xのネストされた名前空間ではなく、フラットな名前空間を共有するようになりました。たとえば、d3.scale.linearはd3.scaleLinearになり、d3.layout.treemapはd3.treemapになりました。 [...]
- https://github.com/d3/d3/blob/master/CHANGES.md (エンファシス鉱山)
d3.scaleLinear
ではなく、d3.scale.linear
を使用してください。古いバージョンのd3.js
のみに対応しています