我是新来的,所以我不太好,我的英语也不太好(对不起> 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>
这是一张图片,我们按我放置它们的顺序查看颜色,这对我没有帮助。
如果一个有爱心的人可以帮助我,我将非常感谢他。
答案 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);