我们如何使用Google图表在3D饼图上的pieSliceText上同时显示标签和值?

问题描述 投票:1回答:1

Iam在Angular 6中使用Google图表

我正在使用

pieSliceText: 'value'

但是我需要在饼图上同时显示标签和值,

我尝试使用pieSliceText: 'label-and-value'

类似于

pieSliceText: 'value-and-percentage'

但是这对我不起作用

charts google-visualization angular6
1个回答
0
投票

几个选项...


1)使用以下选项标记切片...

legend: {
  position: 'labeled'
}

请参阅以下工作片段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
  ]);

  var options = {
    height: 400,
    is3D: true,
    legend: {
      position: 'labeled'
    },
    pieSliceText: 'value'    
  };

  var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
  chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="piechart_3d"></div>

2)使用以下选项显示切片的值...

pieSliceText: 'value'

使用上述选项,默认情况下,切片将显示格式化的值。使用对象表示法,我们可以在数据表中同时提供值v:和格式化值f:

{v: 11, f: 'Work: 11'}

请参阅以下工作片段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work', {v: 11, f: 'Work: 11'}],
    ['Eat', {v: 11, f: 'Eat: 2'}],
    ['Commute', {v: 11, f: 'Commute: 2'}],
    ['Watch TV', {v: 11, f: 'Watch TV: 2'}],
    ['Sleep', {v: 11, f: 'Sleep: 7'}]
  ]);

  var options = {
    chartArea: {
      height: '100%',
      width: '100%',
      top: 12,
      left: 12,
      right: 12,
      bottom: 12
    },
    height: 400,
    is3D: true,
    legend: {
      position: 'none'
    },
    pieSliceText: 'value'
  };

  var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
  chart.draw(data, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="piechart_3d"></div>
© www.soinside.com 2019 - 2024. All rights reserved.