D3.js 突出jsD3区域图上的要点

D3.js 突出jsD3区域图上的要点,d3.js,highlight,stacked-area-chart,D3.js,Highlight,Stacked Area Chart,我有一个jsD3区域图,数据包含一些指标的每日值,很多天我都有相同的值,所以当值上升或下降时,我的图在某些点上有峰值,并且值相同的日期的水平线。如何仅用圆圈突出显示“峰值”(当数据与前几天不同时,增加或减少) 如果我为相同的数据渲染圆,它们会为具有相同值的日期重复一个接近另一个的圆 例如,考虑这个样本:但是使用这些数据: date close 14-May-14 10 15-May-14 10 16-May-14 12 17-May-14 12 18-May-14 10

我有一个jsD3区域图,数据包含一些指标的每日值,很多天我都有相同的值,所以当值上升或下降时,我的图在某些点上有峰值,并且值相同的日期的水平线。如何仅用圆圈突出显示“峰值”(当数据与前几天不同时,增加或减少)

如果我为相同的数据渲染圆,它们会为具有相同值的日期重复一个接近另一个的圆

例如,考虑这个样本:但是使用这些数据:

date    close
14-May-14   10
15-May-14   10
16-May-14   12
17-May-14   12
18-May-14   10
19-May-14   10
20-May-14   10
21-May-14   10
22-May-14   28
24-May-14   39
25-May-14   39
26-May-14   49
27-May-14   49
28-May-14   59
28-May-14   48
30-May-14   49
这是渲染的图表:

我只想突出显示值的变化,因此生成的图表如下所示:

我想现在已经很晚了,但我最近一直在做类似的研究:

d3.select('#chart1 svg').selectAll("circle.nv-point")        
   .data(testdata[0].values)                                                                 
.filter(function(d) {return d.y > 20000; })
    .style("fill-opacity",1);
以上是我到目前为止一直在使用的,它突出显示了所有值大于20000的点(当然,这对于您的点来说是不同的),并使这些点可见


希望这能帮助一些人,我是d3新手,一直在尝试找到与您类似问题的答案。

有很多方法可以实现这一点,您需要动态地对您的分数进行分类,比如说一个数学关系,它随着从一个数据点到下一个数据点的变化而变化,称这个类为highlight,其他所有的都是normal。然后,你可以简单地使用散点图来放置点,用css(正常不透明度0和高光不透明度1)设置它们的样式。是的,确实不同,无论如何感谢你的回答。我在寻找显示不同于上一个点的能力,而不是某个固定(或可变)值,标准是上一个或下一个点,无论它们是否不同。哦,有趣的是,我一定误解了。如果您保留一个全局变量,并使用内部函数继续检查该变量,这会不会不起作用?您可以跟踪上一个值,并知道它何时更改