Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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_Svg - Fatal编程技术网

Javascript D3.js:如果我添加这两条语句,为什么柱状图会转过来

Javascript D3.js:如果我添加这两条语句,为什么柱状图会转过来,javascript,d3.js,svg,Javascript,D3.js,Svg,嘿,我有一个条形图,我知道在svg中,x=0和y=0位于左上角,因此图形显示为向下。如果我加上几句话,它就会转过来 var w=500; var h=100; var=1; var数据集=[5,4,6,7,8,10,2,3,4,5,6,25,34,54,64,32,11,32,42,5,10,15,20,25,30,35,40]; var svg=d3.选择(“主体”) .append(“svg”) .attr(“宽度”,w) .attr(“高度”,h); var rectangles=svg

嘿,我有一个条形图,我知道在svg中,x=0和y=0位于左上角,因此图形显示为向下。如果我加上几句话,它就会转过来

var w=500;
var h=100;
var=1;
var数据集=[5,4,6,7,8,10,2,3,4,5,6,25,34,54,64,32,11,32,42,5,10,15,20,25,30,35,40];
var svg=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,w)
.attr(“高度”,h);
var rectangles=svg.selectAll(“rect”)
.数据(数据集)
.输入()
.append(“rect”)
.attr(“x”,函数(d,i){
返回i*(带数据集长度);
})
.attr(“y”,函数(d){
返回h-d;
})
.attr(“宽度”,w/dataset.length-条形填充)
.attr(“高度”,功能(d){
返回d*4;
})
.attr(“填充”,功能(d){
返回“rgb(0,0,+(d*10)+”);
});

在这种特殊情况下,y值在正确位置被截断的原因是svg的高度为100。但是如果仔细检查svg,每个矩形都会延伸到svg的底部之外,它们只是不可见,因为没有溢出

h-d对于起始y位置是正确的,如果值为60,那么(100-60)将等于40,正如您正确说明的那样。但是,实际高度应为d,而不是d*4。我不知道d*4是从哪里来的

因此,如果您的值是60,那么y将是40,高度将是60,这将延伸到svg的底部


希望这有帮助。

在这种特殊情况下,y值在正确位置被截断的原因是svg的高度为100。但是如果仔细检查svg,每个矩形都会延伸到svg的底部之外,它们只是不可见,因为没有溢出

h-d对于起始y位置是正确的,如果值为60,那么(100-60)将等于40,正如您正确说明的那样。但是,实际高度应为d,而不是d*4。我不知道d*4是从哪里来的

因此,如果您的值是60,那么y将是40,高度将是60,这将延伸到svg的底部


希望这有帮助。

svg矩形的
y
位置是矩形的顶部。底部是
y+height
。svg矩形的
y
位置是矩形的顶部。底部为
y+高度