Как мы можем отобразить как метку, так и значение на pieSliceText на графике 3d p ie, используя диаграммы Google? - PullRequest
1 голос
/ 05 марта 2020

Я использую Google Chart в Angular 6

Я использую

pieSliceText: 'value'

Но мне нужно отобразить как метку, так и значение на p ie slice,

Я пытался использовать pieSliceText: 'label-and-value'

аналогично

pieSliceText: 'value-and-percentage'

Но это не работает для меня

1 Ответ

0 голосов
/ 05 марта 2020

пара вариантов ...


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>
...