Javascript 在d3中基于线图中的条件添加Glyph

Javascript 在d3中基于线图中的条件添加Glyph,javascript,html,d3.js,data-visualization,linechart,Javascript,Html,D3.js,Data Visualization,Linechart,我已经在我的d3代码中添加了圆圈标志符号,但是我需要添加标志符号,前提是如果月份是一月,那么圆圈才应该出现!例如,按照2019年1月、2020年1月、2021年1月的顺序,圆圈应仅在这些日期出现 g、 selectAllcircle .Datais 进来 A.附加圆 .attrcx,函数d{return xparseTimed.date;} .attracy,函数d{return yd.salary+d.bonus;} attrr先生,4 .黑色 .笔画宽度,2 .stylefill,红色 这将

我已经在我的d3代码中添加了圆圈标志符号,但是我需要添加标志符号,前提是如果月份是一月,那么圆圈才应该出现!例如,按照2019年1月、2020年1月、2021年1月的顺序,圆圈应仅在这些日期出现

g、 selectAllcircle .Datais 进来 A.附加圆 .attrcx,函数d{return xparseTimed.date;} .attracy,函数d{return yd.salary+d.bonus;} attrr先生,4 .黑色 .笔画宽度,2 .stylefill,红色


这将在所有日期上创建圆圈,我需要筛选并仅在一月显示它们

您可以筛选数据并仅在数据中一月时添加圆圈吗

我假设dataIS是某种数组

g.selectAll("circle")
.data(
  dataIS
  .filter(
    d =>{
      console.log("d is:",JSON.stringify(d,undefined,2));
      return d.date.getMonth() === 0 //only January
    }
  )
)
.enter()
...

你能添加一个代码示例吗?欢迎来到StackOverflow。请用代码编辑您的问题。注释中有一个编辑按钮,而不是编写代码。另外,请添加所有相关代码以获得正确答案。@MiroslavLigas-已添加代码,谢谢您的帮助!@HMR g.selectAllcircle.data dataIS.filter d=>d.date.getMonth===0//only January.enter.appendcircle.attrcx,函数d{return xparseTimed.date;}.attrcy,函数d{return yd.salary+d.bonus;}.attrr,4.stylestroke,黑色。stylestroke width,2.stylefill,darkred;我已经添加了你给出的代码,但在运行时,轴和圆disappear@jeet08如果出现异常,您是否可以在Chrome中按F12,并在开发者工具的控制台选项卡中查看。我猜getMonth不是一个函数,因为d.date要么是未定义的,要么不是日期对象。您可以在getMonth更新答案之前console.logJSON.stringifyd,undefined,2,并用输出更新您的问题。我也尝试运行编辑过的代码,但它不会生成output@jeet08如果它不产生输出,则必须产生错误,或者dataIS是空数组。你在最近的Chrome中尝试过吗?代码在ES2015中,可能您正在不支持它的浏览器中尝试,因此出现错误。您可以使用babel来传输它,也可以使用较旧的语法d=>。。。与函数d相同…在运行您提供的代码时,整个图形消失或没有任何更改,我每个月都会看到圆圈!我没有得到这样的错误