更新:工作小提琴:http: //jsfiddle.net/reblace/D2Dak/4/
NVD3代码生成错误仍然存在一些问题......他们的网站示例也有问题......但是,现在我在这里提到的东西是可以证明的。
要在不修改其代码的情况下自定义工具提示,请在您的代码中尝试:
chart.tooltip(function(key, x, y, e, graph) {
return '<h3>' + key + '</h3>' +
'<p>' + y + ' on ' + x + '</p>';
});
它们通过 multibarchart 函数上的函数公开工具提示,因此您可以修改用于呈现工具提示的 HTML 模板。
还有
chart.reduceXTicks(false); // Will show labels on all bars
chart.rotateLabels(angle); // Rotate the labels to "angle" degrees
chart.xAxis.staggerLabels(true) // Staggers the X Axis labels vertically so they don't run into eachother
如果您查看他们的源代码,您可以找到公开所有内容以供修改的部分:
//============================================================
// Expose Public Variables
//------------------------------------------------------------
// expose chart's sub-components
chart.dispatch = dispatch;
chart.multibar = multibar;
chart.legend = legend;
chart.xAxis = xAxis;
chart.yAxis = yAxis;
...
chart.reduceXTicks= function(_) {
if (!arguments.length) return reduceXTicks;
reduceXTicks = _;
return chart;
};
chart.rotateLabels = function(_) {
if (!arguments.length) return rotateLabels;
rotateLabels = _;
return chart;
}
chart.tooltip = function(_) {
if (!arguments.length) return tooltip;
tooltip = _;
return chart;
};
Mike Bostock 在 NVD3 遵循的“面向可重用图表”中描述了一种设计模式,因此熟悉它可能会有所帮助。http://bost.ocks.org/mike/chart/