Charts 如何更改nvd3图形中标签的位置?

Charts 如何更改nvd3图形中标签的位置?,charts,nvd3.js,Charts,Nvd3.js,这是我当前的nvd3饼图 如您所见,我将所有标签都放在饼图的顶部(由红色框1指示)。 我想做的是,将这些标签的位置移动到饼图的底部(由红色框2指示) 这是我的nvd3代码,我用它创建了这个饼图 function graphDataStatsChart(sourceData) { nv.addGraph(function() { var chart = nv.models.pieChart() .x(function(d) { return d.label }) .y

这是我当前的nvd3饼图

如您所见,我将所有标签都放在饼图的顶部(由红色框1指示)。 我想做的是,将这些标签的位置移动到饼图的底部(由红色框2指示)

这是我的nvd3代码,我用它创建了这个饼图

function graphDataStatsChart(sourceData) {
nv.addGraph(function() {
  var chart = nv.models.pieChart()
      .x(function(d) { return d.label })
      .y(function(d) { return d.value })
      .showLabels(true)     //Display pie labels
      .labelThreshold(.05)  //Configure the minimum slice size for labels to show up
      .labelType("percent") //Configure what type of data to show in the label. Can be "key", "value" or "percent"
      .donut(true)          //Turn on Donut mode. Makes pie chart look tasty!
      .donutRatio(0.35)     //Configure how big you want the donut hole size to be.
      ;

    d3.select("#chart1 svg")
        .datum(sourceData)
        .transition().duration(350)
        .call(chart);

  return chart;
});

};

任何主体都可以建议执行上述重新定位的方法吗?

您需要更改图例容器的位置,例如:

 d3.select(".nv-legendWrap")
  .attr("transform","translate(0,350)")  

我创建了一个示例。

您需要更改图例容器的位置,例如

 d3.select(".nv-legendWrap")
  .attr("transform","translate(0,350)")  

我创建了一个示例。

不幸的是,对于图表选项,您有
legendPosition
,但您只能将其放在饼图的顶部或右侧(请参见,
legendPosition
值)

不幸的是,在图表选项中,您有
legendPosition
,但您只能将其放在饼图的顶部或右侧(请参见,
legendPosition
值)

谁使用选项。。在选项后添加此选项

$timeout(function () {

      d3.selectAll('.nv-legendWrap').attr("transform","translate(0,300)");


  }, 1000);

谁使用选项。。在选项后添加此选项

$timeout(function () {

      d3.selectAll('.nv-legendWrap').attr("transform","translate(0,300)");


  }, 1000);

我找到了更好的解决办法。请查看此以了解更多详细信息

chart.legendPosition("top");
chart.legendPosition("right");
chart.legendPosition("bottom");
chart.legendPosition("left");

我找到了更好的解决办法。请查看此以了解更多详细信息

chart.legendPosition("top");
chart.legendPosition("right");
chart.legendPosition("bottom");
chart.legendPosition("left");

如果数据中只有很少的项,则可以。如果数据中只有很少的项,则可以。