更新nvd3条形图中的图例文本

时间:2018-06-02 07:26:44

标签: nvd3.js

我有一个使用nvd3库(SugarCRM)创建的条形图,我想在我的javascript中更改它的文本。我怎样才能实现

d3.json(sugarAPI, function(json) {
          $("#global_revenuedata svg").html("");
          nv.addGraph(function() {
            var height = 400;               
            var chart = nv.models.pieChart()
                  .x(function(d) { return d.label })
                  .y(function(d) { return d.value })
                  .showLabels(true)               
                  .showTitle(false)
                  .direction(app.lang.direction)
                  .colorData('default')                   
                  .height(height)
                  .showLegend(true)
                  .labelThreshold(0)
                  .tooltipContent(function(key, x, y, e, graph) {
                      if (y.indexOf('G') > -1)
                        {
                         y = y.replace("G", "B");
                        } 
                    return '<p>Amount: <b>$' + y + '</b></p>' +
                           '<p>Percent: <b>' + x + '%</b></p>';
                  });

                  d3.selectAll("#global_revenuedata svg > *").remove();                   


              d3.select('#global_revenuedata svg')
                  .datum(json)
                .transition().duration(500)
                  .call(chart);

            return chart;
          });
        });

如果有任何标签说明&#34; test1&#34;,我需要将其更改为&#34; test2&#34;

<g class="nv-legend" transform="translate(0,0)" style="display: inline; opacity: 1;">
<g class="nv-series" transform="translate(0,0)">
  <rect x="-11" y="-12" width="115" height="24" style="fill: rgb(255, 255, 238); opacity: 0.1;"></rect>
  <circle r="6" class="nv-slice nv-series-0" fill="#1f77b4" stroke="#1f77b4" style="stroke-width: 2;" transform="translate(0,0)"></circle>
  <text dy=".36em" text-anchor="start" transform="translate(11,0)">84300000.000000</text>
  </g>
  <g class="nv-series" transform="translate(115,0)">
  <rect x="-11" y="-12" width="144" height="24" style="fill: rgb(255, 255, 238); opacity: 0.1;"></rect>
  <circle r="6" class="nv-slice nv-series-1" fill="#aec7e8" stroke="#aec7e8" style="stroke-width: 2;" transform="translate(0,0)"></circle>
  <text dy=".36em" text-anchor="start" transform="translate(11,0)">Others Annual Forecast</text>
  </g>
</g>

在上面的html我需要更改值&#34; 84300000.000000&#34;到&#34;我的公司预测&#34;,价值不断变化,所以无论价值是什么,我都需要将其改为文本。

0 个答案:

没有答案