好吧,事实证明这并不是那么难。我选择了选项 #3,以下代码更改为 nv.d3.js 完成了工作:
在legend 模型中,更改
function chart(selection) {
selection.each(function(data) {
...到
function chart(selection) {
selection.each(function(dataUnfiltered) {
var data = dataUnfiltered.filter(function (d) {
return !d.disableLegend;
});
在lineChart 模型中,更改:
interactiveLayer.dispatch.on('elementMousemove', function(e) {
lines.clearHighlights();
var singlePoint, pointIndex, pointXLocation, allData = [];
data
.filter(function(series, i) {
series.seriesIndex = i;
return !series.disabled;
})
...到
interactiveLayer.dispatch.on('elementMousemove', function(e) {
lines.clearHighlights();
var singlePoint, pointIndex, pointXLocation, allData = [];
data
.filter(function(series, i) {
series.seriesIndex = i;
return !series.disabled && !series.disableTooltip;
})
(显然,必须对您想要支持的每个图表模型进行第二次更改,例如 cumulativeLineChart 和 `stackedAreaChart)。
除了color、key、values 等之外,您还可以指定disableTooltip: true 和/或disableLegend: true。
希望这对某人有所帮助。