我们如何使用 google 图表在 3d 饼图的 pieSliceText 上显示标签和值?

How can we display both label and value on a pieSliceText on an 3d pie chart using google charts?

我在 Angular 6

中使用 Google 图表

我正在使用

pieSliceText: 'value'

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

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

类似于

pieSliceText: 'value-and-percentage'

但这对我不起作用

几个选项...


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'

使用上述选项,切片将默认显示格式化值。
使用对象表示法,我们可以在数据 table 中同时提供值 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>