javascript - donut 饼图 - 添加标题 - NVd3.js

标签 javascript d3.js pie-chart nvd3.js

我正在探索 NVD3.js 库。令我惊讶的是,它能以多快的速度生产东西。

但有时似乎很难更改图表。在这种情况下,我想为我的图表添加一个标题

另一件事,我想在工具提示中添加额外的数据。所以在悬停时,它还会在我的数据中包含注释。

数据样本:

var data = [
{
  key: "Loans",
  y: 52.24
  note: "Expect greatest value"
}];

这是我正在玩的代码:

nv.addGraph(function() {

var width = 500,
    height = 500;

var chart = nv.models.pieChart()
    .x(function(d) { return d.key; })
    .values(function(d) { return d; })
    .color(d3.scale.category10().range())
    .width(width)
    .height(height)
    .donut(true);

chart.pie
    .startAngle(function(d) { return d.startAngle/2 -Math.PI/2; })
    .endAngle(function(d) { return d.endAngle/2 -Math.PI/2 ;});


  d3.select("#chart")
      //.datum(historicalBarChart)
      .datum([data])
    .transition().duration(1200)
      .attr('width', width)
      .attr('height', height)
      .call(chart);

return chart;
});

Donut-Pie Chart example


更新:工具提示的原始代码位于 src->models->pieChart.js 中:

tooltip = function(key, y, e, graph) {
    return '<h3>' + key + '</h3>' +
           '<p> Confidence: ' +  y + '%</p>'
  }

我已经尝试用我自己的函数覆盖它。但要么出错,要么没有变化。

标题更新:我通常使用以下代码(或类似代码)作为标题。

svg.append("text")
    .attr("x", (width / 2))
    .attr("y", 0 - (margin.top / 2))
    .attr("text-anchor", "middle")
    .style("font-size", "16px")
    .style("text-decoration", "underline")
    .text("Awesome Title");

当然,这在 NVD3 中是无效的。我不知道使用什么函数来指定标题。

最佳答案

我认为您正在寻找图表。 tooltipContent () JSFiddle: http://jsbin.com/idosop/7/edit

      var tp = function(key, y, e, graph) {
            console.log(key, e, y);
            return '<h3>' + key + '</h3>' +
                   '<p>!!' +  y + '!!</p>' +
              '<p>Likes: ' +  e.point.likes + '</p>';
      };
      chart.tooltipContent(tp);

关于javascript - donut 饼图 - 添加标题 - NVd3.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222038/

相关文章:

Javascript 不会淡化文本并且在运行时不会抛出错误

javascript - 正则表达式:如何从字符串中获取时间

javascript - 对单行代码使用匿名函数有什么意义?

javascript - 具有力布局的散点图

javascript - D3 反转色标图以获得幅度

python pptx 在饼图中显示类别值

javascript - 如何在 d3 中悬停时增加饼图的大小

javascript - 异步状态更改后的 Vuex 执行函数

javascript - 添加项目的 meteor 动画

java - 如何在java中旋转饼图