dc-js中有underlayCallback函数吗?
Is there an underlayCallback function in dc-js?
我发现 underlayCallback 选项在 dygraphs
库中非常有用。它允许用户绘制不属于库初衷的东西 "easily"。例如,我用它在时间序列图表上添加图形注释。
dc.js
框架中是否有等效的东西?理想情况下,它会在刷新时公开用于绘制图表的(可能已过滤的)数据。
您有几个事件在图表生命周期的不同时间点触发:
https://dc-js.github.io/dc.js/docs/html/dc.baseMixin.html#on
与underlayCallback 相似的是renderlet 或pretransition 事件。从回调中,您几乎可以做任何事情,比如旋转轴标签、跟踪新的点击事件、添加新的 svg 元素...
有一个example here多画一条线:
.on('renderlet', function(chart) {
var left_y = 10, right_y = 70; // use real statistics here!
var extra_data = [{x: chart.x().range()[0], y: chart.y()(left_y)}, {x: chart.x().range()[1], y: chart.y()(right_y)}];
var line = d3.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.curve(d3.curveLinear);
var chartBody = chart.select('g.chart-body');
var path = chartBody.selectAll('path.extra').data([extra_data]);
path = path
.enter()
.append('path')
.attr('class', 'extra')
.attr('stroke', 'red')
.attr('id', 'extra-line')
.merge(path);
path.attr('d', line);
我发现 underlayCallback 选项在 dygraphs
库中非常有用。它允许用户绘制不属于库初衷的东西 "easily"。例如,我用它在时间序列图表上添加图形注释。
dc.js
框架中是否有等效的东西?理想情况下,它会在刷新时公开用于绘制图表的(可能已过滤的)数据。
您有几个事件在图表生命周期的不同时间点触发:
https://dc-js.github.io/dc.js/docs/html/dc.baseMixin.html#on
与underlayCallback 相似的是renderlet 或pretransition 事件。从回调中,您几乎可以做任何事情,比如旋转轴标签、跟踪新的点击事件、添加新的 svg 元素...
有一个example here多画一条线:
.on('renderlet', function(chart) {
var left_y = 10, right_y = 70; // use real statistics here!
var extra_data = [{x: chart.x().range()[0], y: chart.y()(left_y)}, {x: chart.x().range()[1], y: chart.y()(right_y)}];
var line = d3.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.curve(d3.curveLinear);
var chartBody = chart.select('g.chart-body');
var path = chartBody.selectAll('path.extra').data([extra_data]);
path = path
.enter()
.append('path')
.attr('class', 'extra')
.attr('stroke', 'red')
.attr('id', 'extra-line')
.merge(path);
path.attr('d', line);