【发布时间】:2015-01-07 06:17:50
【问题描述】:
我需要使用 c3.js 在散点图中显示数据点。数据点分批到达,我想随着新点的到来逐步更新绘图。
在初始化绘图时给出了第一批,并且显示正常。但是当我使用 flow 更新情节时,较早的点会被删除。此外,X 轴不会显示正确的 X 坐标。 [编辑:添加说明] 流动后,点出现在 (3, 1), (4, 1), (5, 1) 而不是 (1.5, 1), (2.5, 1), (3.5, 1)在数据中指定。]
我错过了什么吗?
JsFiddle:http://jsfiddle.net/cornea/b33usb69/
var chart = c3.generate({
data: {
x: 'A',
columns: [
['A', 1.5, 2.5, 3.5],
['B', 2.0, 2.0, 2.0]
],
type: 'scatter',
types: { 'B': 'scatter' }
},
axis: {
x: { label: 'A', tick: { fit: true } },
y: { label: 'B' }
}
});
setTimeout(function () {
chart.flow({
columns: [
['A', 1.5, 2.5, 3.5],
['B', 1.0, 1.0, 1.0]
]
});
}, 2000);
谢谢。
【问题讨论】:
-
由于您的
x值不会改变,我认为在这种情况下您需要设置data.x并可能使用ids:来卸载和刷新图表,如C3.js XY chart example 中的为了得到你想要的效果。 -
答案应该是评论。
-
通过在流程规范中设置
length = 0解决了显示新点时旧点被删除的问题。但是,“流”添加的点仍然显示不正确。 Updated JsFiddle -
更新的答案 - 不高兴。如果您找到解决方法,您可以发布您自己问题的答案并接受它。我会投票赞成任何有用的回应。如果您在 C3.js 邮件列表中发布您的问题的链接,其他用户可能有更简单的方法来做您想做的事情。
标签: javascript d3.js c3.js