Charts 如果条件为真,如何绘制面积图,否则会生成线图?

Charts 如果条件为真,如何绘制面积图,否则会生成线图?,charts,d3.js,conditional-statements,Charts,D3.js,Conditional Statements,我正在使用D3.JS创建一个仪表板,用户可以从列表中选择要绘制的变量数量。如果用户选择一个或两个变量,我想创建一个面积图。如果用户选择两个以上的变量,那么我只想创建面积图(即折线图)的边缘。我知道创建折线图的代码不需要任何更改。如何向绘制面积图的代码部分添加条件语句 我的数据格式如下: entries = [ { "key":"variable A", "value":[..] }, { "key":"variable B", "value":[..] } ] 我创建了一个“for”来遍历对象

我正在使用D3.JS创建一个仪表板,用户可以从列表中选择要绘制的变量数量。如果用户选择一个或两个变量,我想创建一个面积图。如果用户选择两个以上的变量,那么我只想创建面积图(即折线图)的边缘。我知道创建折线图的代码不需要任何更改。如何向绘制面积图的代码部分添加条件语句

我的数据格式如下:

entries = [ { "key":"variable A", "value":[..] }, { "key":"variable B", "value":[..] } ]
我创建了一个“for”来遍历对象并计算用户选择了多少变量。要打印的变量数存储在“计数”中

我试着把最后两句话换成

.attr("d", function (d) { return (count<=2? areasFocus(d.value):areasFocus() )})
.style("fill", function (d) { return (count<=2? color(d.key) : color()) });

.attr(“d”,函数(d){return(countentries变量中的任何内容都不包含length属性。似乎您希望从数组/列表和非数组/列表的对象中获取长度。

我发现问题出在if语句中,当条件为false时,我需要执行“nothing”。我的错误是在没有参数的情况下调用ares.Focus()。

你是对的,谢谢!我解决了计算对象中元素数量的问题。如何根据条件创建面积图的问题仍然存在。。。
.attr("d", function (d) { return (count<=2? areasFocus(d.value):areasFocus() )})
.style("fill", function (d) { return (count<=2? color(d.key) : color()) });