Javascript d3附加简单区域

Javascript d3附加简单区域,javascript,css,d3.js,charts,Javascript,Css,D3.js,Charts,我想将简单面积附加到图表中,面积值的端点作为常量 percentArea = d3.svg.area() .interpolate('linear') .x0(0) .x1(w) .y0(h/4) .y1(h); 我想直接附加这个区域并给它一个颜色填充。谢谢你的帮助。我正经历着一段特别艰难的时间,试图让这个区域填满。图表显示了该区域上的一条线,但在我尝试时没有填充 编辑:试图使问题更加清晰和具体:我面临的问题只是当我试图调用我的函数而

我想将简单面积附加到图表中,面积值的端点作为常量

percentArea = d3.svg.area()
      .interpolate('linear')
      .x0(0)
      .x1(w)
      .y0(h/4)
      .y1(h);
我想直接附加这个区域并给它一个颜色填充。谢谢你的帮助。我正经历着一段特别艰难的时间,试图让这个区域填满。图表显示了该区域上的一条线,但在我尝试时没有填充


编辑:试图使问题更加清晰和具体:我面临的问题只是当我试图调用我的函数而不传递数据时。当我调用percentArea(数据)时,区域填充按预期工作。但是,我无法理解为什么在我所在区域的端点为常量时必须传递数据。

您需要确保已渲染的路径已填充。有两种方法可以做到这一点:

设置样式

path.style("fill", "steelblue");
设置一个类并利用CSS

path.attr("class", "filled-area");

// In CSS
.filled-area {
    fill: steelblue;
}
下面是一个简单的例子:

带笔划的面积图:

无填充的面积图

正如您所看到的,这默认为黑色

填充正确的面积图


我不想将其称为percentArea(数据),因为端点是固定的,所以传递数据似乎是错误的。
.style(“fill”,color)
是的,感谢我使用append(“path”).attr(“d”,percentArea(data)).style(“fill”,color)时它可以工作。有什么建议可以改进我的称呼吗?或者,即使端点是常数,这也是唯一的方法吗?我的问题有点被误解了。不过,你已经相应地回答了,谢谢。当我试图在不传递任何数据的情况下将区域附加到svg时,我遇到了区域填充的问题。当我将面积函数调用为percentArea(数据)时,您建议的方法有效。然而,我不明白为什么即使我的终点是恒定的,我也必须传递数据。@hunters30:告诉你什么-用我可以运行的示例问另一个问题(在这个问题中添加一个链接作为注释),我会看一看。Ok提出了一个新问题,并试图更具体一些。还添加了一把小提琴来显示我的问题。