Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 如何绘制垂直面积图?_Javascript_D3.js_Svg_Charts - Fatal编程技术网

Javascript 如何绘制垂直面积图?

Javascript 如何绘制垂直面积图?,javascript,d3.js,svg,charts,Javascript,D3.js,Svg,Charts,如何在d3中绘制垂直区域? 就像我画的红色: 这里最好的方法是什么?我在网上找不到任何例子。事实上,正如你所说,大多数面积图的例子(我想说几乎所有的例子)都使用水平面积,也就是说,基线是水平的 然而,使用D3创建垂直面积图(即具有垂直基线)非常容易。要做到这一点,我们必须使用较不知名的x1和x0方法 由于几乎所有在线示例都是水平面积图,因此面积生成器的方法只有x、y1和y0。然而,同样的方法x单独将x0设置为值,将x1设置为null,y将y0设置为值,将y1设置为null 也就是说,您只需要使

如何在d3中绘制垂直区域? 就像我画的红色:


这里最好的方法是什么?我在网上找不到任何例子。

事实上,正如你所说,大多数面积图的例子(我想说几乎所有的例子)都使用水平面积,也就是说,基线是水平的

然而,使用D3创建垂直面积图(即具有垂直基线)非常容易。要做到这一点,我们必须使用较不知名的
x1
x0
方法

由于几乎所有在线示例都是水平面积图,因此面积生成器的方法只有
x
y1
y0
。然而,同样的方法
x
单独将
x0
设置为值,将
x1
设置为
null
y
y0
设置为值,将
y1
设置为
null

也就是说,您只需要使用
x0
设置垂直基线。检查此示例:

const svg=d3.选择(“svg”);
常量数据=[0,80,20,210,130,270,30,110,130,0];
const area Generator=d3.面积()
.x0(0)
.x1(d=>d)
.y((u,i)=>i*15)
.curve(d3.curveMonotoneY)
const area=svg.append(“路径”)
.attr(“d”,区域生成器(数据))
.样式(“填充”、“青色”)

非常感谢。我已经寻找这个解决方案几个小时了!