在Google Chart Pie中使用随机颜色

时间:2019-02-19 09:46:18

标签: html colors google-visualization

我是新来的,所以我不太好,我的英语也不太好(对不起> o <)。 我正在训练中,总之,我必须制作一个颜色随机的Google图表饼图。我在互联网上搜索了很多解决方案,但是我发现并理解的唯一解决方案是:
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>

  


enter image description here

这是一张图片,我们按我放置它们的顺序查看颜色,这对我没有帮助。

如果一个有爱心的人可以帮助我,我将非常感谢他。

1 个答案:

答案 0 :(得分:-1)

我认为您应该在使用数组之前先对其进行改组。这是link的答案。

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);