nvd3のpiechart.jsコンポーネントを使用して、自分のサイトで円グラフを生成しています。提供されている.jsファイルには、次のようにいくつかの変数が含まれています。
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とmarginをオーバーライドします):
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自体を編集する必要はまったくありません。複数のウィジェットで使用するために、そのファイルを汎用的に保つ必要があります。
そして、私たちがそれに取り組んでいる間、ツールチップ全体をクリック可能なリンクにする方法はありますか?