Javascript 错误:无效的<;值;rect>;属性宽度=”;“南”;6d3.v3.min.js:1错误:无效的<;文本>;属性x=";“南”;

Javascript 错误:无效的<;值;rect>;属性宽度=”;“南”;6d3.v3.min.js:1错误:无效的<;文本>;属性x=";“南”;,javascript,svg,d3.js,bar-chart,Javascript,Svg,D3.js,Bar Chart,嗨,我是D3制图新手。现在我正在试用d3.com上的许多教程。现在,在尝试制作svg条形图时,标题中显示了两个错误。有人能帮我吗?当我用NaN值设置宽度时,遇到了类似的问题。您需要检查是否正确设置了x变量。尝试在此行上方粘贴console.log(x): bar.append("rect") .attr("width", x) .attr("height", barHeight - 1); bar.append("text") .attr("x", function(d)

嗨,我是D3制图新手。现在我正在试用d3.com上的许多教程。现在,在尝试制作svg条形图时,标题中显示了两个错误。有人能帮我吗?

当我用
NaN
值设置宽度时,遇到了类似的问题。您需要检查是否正确设置了
x
变量。尝试在此行上方粘贴
console.log(x)

    bar.append("rect")
  .attr("width", x)
  .attr("height", barHeight - 1);

bar.append("text")
   .attr("x", function(d) { return x(d) - 3; })
   .attr("y", barHeight / 2)
   .attr("dy", ".35em")
   .text(function(d) { return d; });

并在浏览器的开发工具中检查控制台

你得到的是“不是一个数字”,所以很明显你在用非数字的变量进行数学运算,比如
barHeight
?似乎
x(d)
没有很好的定义(不是一个数字)。您可能需要检查正在输入的函数
x
(很可能是刻度)和
d
(绑定到对象的数据)。根据您的示例中提供的信息,答案很难回答,但是…您正在执行
.attr(“宽度”,x)
,而且
返回x(d)-3
因此其中一个中的
x
必须wrong@adeneo'可变宽度=420,杆高=20;'我的变量肯定应该是数字。@PinguinDirk
var x=d3.scale.linear().range([0,width])这就是我的x变量的样子。。
.attr("width", x)