D3:如何在折线图中显示单个点
D3: how to show lone point in a line chart
我有一些数据,其中可能没有几个数据点可用(=== null
)。为了显示数据丢失,我使用d3的line.defined
函数(如图所示)。问题是,有时我有一个点,它的两边都没有值,因此不会显示在图形上。
演示:http://jsfiddle.net/nxrdybdx/3/
正如你所看到的,4月27日和29日的数据缺失,因此这条线是不相交的。太棒了4月28日的数据值为非空,但不会显示。
我希望在4月28日显示一个点。我错过了什么?我是否需要添加一个对应于每个点的点(svg圆),以便在单独显示时,每个点都可以单独显示?
您只使用绘制线条
svg.append("path") // Add the valueline path.
.attr("d", valueline(data));
如果你想像你提供的例子一样画圆圈,你需要添加
svg.selectAll(".dot")
.data(data.filter(function(d) { return d; }))
.enter().append("circle")
.attr("class", "dot")
.attr("cx", line.x())
.attr("cy", line.y())
.attr("r", 3.5);
请参阅http://jsfiddle.net/tgx48xzn/
PS:
如果你想隐藏零值点,你可以有
.filter(function(d) { return d.close !== null })
请参阅http://jsfiddle.net/tgx48xzn/1/
PS 2
如果你只想显示孤立的点,像一样过滤
.filter(function(d, i) {
return d.close !== null && i > 1
&& data[i - 1].close === null
&& data[i + 1].close === null;
})
请参阅http://jsfiddle.net/tgx48xzn/3/
相关文章:
- 在 Webix 中显示单个整数
- Google 地图信息窗口仅显示首次点击时的信息
- 无法在系列中为 Highstock API 设置单个点颜色,它适用于 Highchart API
- 我可以在Highcharts中用堆叠的列为单个点上色吗
- 带有
标记的 jQuery 分页显示单个页面中的所有页面,如果它里面有其他标记
- 高图表没有点标记,但显示单点或不连续点
- 显示图形点的平均值,随着用户缩放而动态修正
- 隐藏/显示菜单点击javascript
- Javascript/JQuery 显示单个席位的总成本
- 创建动态 Two.js 变量以涉及单个点击事件
- 地图不显示锚点,否则
- 在 OpenLayers 3 中的单个点上设置两种样式
- 单击折线图中的单个点但不单击条形图中单个条形时显示的引导模式
- 使用角度谷歌地图无法将点击事件绑定到用于显示单个窗口的标记
- 突出显示单个字符,然后将屏幕刷新为仅这些字符
- 使用LinkTo显示单个对象
- 角度视图(如果未经过身份验证)显示单个视图
- 高点突出显示线上的单个点
- 在jQuery流图上添加或突出显示单个点
- D3:如何在折线图中显示单个点