Используйте случайные цвета в круговой диаграмме Google - PullRequest
0 голосов
/ 19 февраля 2019

Я новичок, поэтому я не так хорош, и мой английский не очень хорош (извините> о <).Я на тренировке, и для краткости, я должен сделать круговую диаграмму Google со случайными цветами.Я искал много решений в Интернете, но единственное, что я нашел и понял, это: <br>colors:['yellow', 'red', 'blue', 'green', 'violet', 'pink'], useRandomColors: true,

Но это не соответствует тому, что я хочу, с одной стороны,цвета не выставляются абсолютно случайно, и тогда это свойство бесполезно. Вот мой тестовый код (потому что мы работаем с данными из базы данных, а не с необработанными данными, как в этом примере):


  <head>
    <script type="text/javascript"src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
  google.charts.load('current', {'packages':['corechart']});
  google.charts.setOnLoadCallback(drawChart);

  function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     2],
      ['Eat',      4],
      ['Commute',  5],
      ['Watch TV', 8],
      ['Sleep',    9],
    ]);

    var options = {
      title: 'Test',
      colors:['yellow', 'red', 'blue', 'green', 'violet', 'pink'],
      useRandomColors: true,
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart'));

    chart.draw(data, options);
  }
  </script>
 </head>
<body>


введите описание изображения здесь

Вот изображение, мы видим цвета в том порядке, в котором я их разместил, оно мне не поможет.

Еслимне может помочь благотворительная душа, я был бы ему очень благодарен.

1 Ответ

0 голосов
/ 19 февраля 2019

Я думаю, вы должны попытаться перемешать массив перед его использованием.Вот ссылка на ответ о том, как это сделать.

function shuffle(array) {
  var currentIndex = array.length, temporaryValue, randomIndex;

  // While there remain elements to shuffle...
  while (0 !== currentIndex) {

    // Pick a remaining element...
    randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex -= 1;

    // And swap it with the current element.
    temporaryValue = array[currentIndex];
    array[currentIndex] = array[randomIndex];
    array[randomIndex] = temporaryValue;
  }

  return array;
}

// Used like so
var arr = ['yellow', 'red', 'blue', 'green', 'violet', 'pink'];
arr = shuffle(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...