2017-05-10 60 views
0

我正在研究D3项目,下面的代码工作,但我不明白为什么。D3翻译价值

在翻译(移动)面积图的Y-Scale的位置时(在本例中,它是我在最后一行代码中调用的yAxis变量),我应该输入包围的transform属性的值由两个“+”图标组成。为什么这个值用引号分开以及+图标的用途是什么?如果有人可以分解最后一行代码,这将是非常有用的。

var margin = {left: 50, right: 50, top: 40, bottom: 0}; 

var yScale = d3.scaleLinear() 
.domain([0, 229]) 
.range([height, 0]); 

var yAxis = d3.axisLeft(yScale); 

svg.append("g").attr("class", "axis y").call(yAxis) 
.attr("transform","translate("+margin.left+",200)").call(yAxis); 

回答

3

+是字符串连接*。在你的情况下,"translate("+margin.left+",200)"更改为"translate(50,200)",因为margin.left === 50.

*或更合适的字符串添加函数。

+0

太好了,非常感谢! D3是独一无二的,还是更广泛地用于JavaScript? –

+0

Javascript一般。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Addition – Quotidian