【发布时间】:2012-09-07 03:29:59
【问题描述】:
我正在使用 nvd3 的 piechart.js 组件在我的网站上生成饼图。提供的 .js 文件包含几个 var,如下:
var margin = {top: 30, right: 20, bottom: 20, left: 20}
, width = null
, height = null
, showLegend = true
, color = nv.utils.defaultColor()
, tooltips = true
, tooltip = function(key, y, e, graph) {
return '<h3>' + key + '</h3>' +
'<p>' + y + '</p>'
}
, noData = "No Data Available."
, dispatch = d3.dispatch('tooltipShow', 'tooltipHide')
;
在我的内联 js 中,我已经能够覆盖其中的一些变量,例如(覆盖 showLegend 和边距):
var chart = nv.models.pieChart()
.x(function(d) { return d.label })
.y(function(d) { return d.value })
.showLabels(false)
.showLegend(false)
.margin({top: 10, right: 0, bottom: 0, left: 0})
.donut(true);
我尝试过以同样的方式覆盖工具提示:
.tooltip(function(key, y, e, graph) { return 'Some String' })
但是当我这样做时,我的饼图根本不显示。为什么我不能在这里覆盖工具提示?还有其他方法可以做到吗?我真的宁愿根本不需要编辑 piechart.js 本身;我需要保持该文件通用,以便在多个小部件中使用。
当我们这样做的时候,有没有什么方法可以让整个工具提示变成一个可点击的链接?
【问题讨论】:
-
我不是 nvd3 专家,刚开始玩。我遇到了和你一样的问题,你正在寻找的是: .tooltipContent(function(key, y, e, graph) { return 'Some String' })我可以通过某种方式将整个工具提示变成一个可点击的链接? 您可以为工具提示返回任何 HTML,但是当它在悬停时出现/消失时,您将很难点击它。
标签: javascript tooltip d3.js pie-chart nvd3.js