Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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.js-无法读取属性';轴';未定义的_Javascript_D3.js - Fatal编程技术网

Javascript D3.js-无法读取属性';轴';未定义的

Javascript D3.js-无法读取属性';轴';未定义的,javascript,d3.js,Javascript,D3.js,以下是我的代码片段: var xScale = d3.scaleLinear().range([MARGINS.left, WIDTH - MARGINS.right]).domain([scaleMin, scaleMax]); var yScale = d3.scaleLinear().range([HEIGHT - MARGINS.top, MARGINS.bottom]).domain([minValue,maxValue+numberOfSignals*300]); xAxis =

以下是我的代码片段:

var xScale = d3.scaleLinear().range([MARGINS.left, WIDTH -  MARGINS.right]).domain([scaleMin, scaleMax]);
var yScale = d3.scaleLinear().range([HEIGHT - MARGINS.top, MARGINS.bottom]).domain([minValue,maxValue+numberOfSignals*300]);
xAxis = d3.svg.axis().scale(xScale);
yAxis = d3.svg.axis().scale(yScale).orient("left");

vis.append("svg:g")
        .attr("transform", "translate(0," + (HEIGHT - MARGINS.bottom) + ")")
        .call(xAxis);

vis.append("svg:g")
        .attr("transform", "translate(" + (MARGINS.left) + ",0)")
        .call(yAxis);
这是我的密码。但每次运行它时,我都会得到错误“plot:91 uncaughttypeerror:cannotreadproperty'axis'of undefined”。 问题是它以前是有效的。有更新吗? 谢谢

对于版本4 它必须是:

var xScale = d3.scaleLinear().range([MARGINS.left, WIDTH - MARGINS.right]).domain([scaleMin, scaleMax]);

var yScale = d3.scaleLinear().range([HEIGHT - MARGINS.top, MARGINS.bottom]).domain([minValue,maxValue+numberOfSignals*300]);


var xAxis = d3.axisBottom()
    .scale(xScale);

var yAxis = d3.axisLeft()
    .scale(yScale);
而不是下面的代码(将在版本3中使用):


您使用的是哪一个版本的d3?最新版本-4.1.1使用第3版它可以工作。您使用的API是针对第3版的。问题是您使用的是多种多样的东西。这一行将在d3 v4
xScale=d3.scaleLinear()
这一行将在d3 v3
d3.svg.axis().scale(xScale)
上工作,因此我建议请正确选择您的版本。嘿,西里尔,我正在编辑问题以添加d3v4标记,我刚刚意识到其中有两个。。。你有足够的RP使它们成为同义词吗?没有@GerardoFurtado我没有RP来做它。@GerardoFurtado我只知道d3v4。你还看到了什么标记?有一个名为
d3.js-v4
,只标记了两个问题。当我从v3移动到v5时,它对我有效。很好!谢谢
xAxis = d3.svg.axis().scale(xScale);
yAxis = d3.svg.axis().scale(yScale).orient("left");