gpt4 book ai didi

jquery - 使用 Google Visualization 制作饼图动画

转载 作者:行者123 更新时间:2023-12-03 22:39:35 25 4
gpt4 key购买 nike

我正在尝试使用谷歌图表。我想要一个从 0% 到 75% 的动画饼图(见下图)。我试图通过谷歌图表来实现这一目标。我正在创建两组数据,一组从 99% 开始,另一组从 1% 开始。我想反转并动画化它们。我已经实现了通过动画更改值,但不知道如何让它们动画化。

<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">

google.load('visualization', '1.0', {'packages':['corechart']});

google.setOnLoadCallback(drawChart);

function drawChart() {

var data = new google.visualization.DataTable();
data.addColumn('string', 'text');
data.addColumn('number', 'number');

data.addRows(2);
data.setValue(0, 0, 'Work');
data.setValue(0, 1, 1);
data.setValue(1, 0, 'Eat');
data.setValue(1, 1, 99);

var options = {
width:500,
height:500,
animation: {duration: 1000, easing: 'out',}
};

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

chart.draw(data, options);

function aniChart(d,o){
for (var i=1; i<100; i++) {
data.setValue(0, 1, i);
}

for (var i=99; i>00; i--) {
data.setValue(1, 1, i);
}
setTimeout(function(){
chart.draw(data, options);
}, 1000);

};

aniChart();

}
</script>
</head>

<body>
<div id="chart_div"></div>
</body>
</html>

chart

最佳答案

使用简洁的 @Muhammad 动画循环解决原始问题。

初始值:

  • 工作:0%
  • 吃:100%

循环将值增加 1 个单位,并每 30 毫秒绘制一次饼图。

当达到 Work=75% 时循环停止。

google.load('visualization', '1.0', {'packages':['corechart']});

google.setOnLoadCallback(drawChart);

function drawChart() {

var data = new google.visualization.DataTable();
data.addColumn('string', 'text');
data.addColumn('number', 'number');

data.addRows(2);
data.setValue(0, 0, 'Work');
data.setValue(0, 1, 0.0);
data.setValue(1, 0, 'Eat');
data.setValue(1, 1, 100.0);

var options = {
width:500,
height:500
};

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

chart.draw(data, options);

// initial value
var percent = 0;
// start the animation loop
var handler = setInterval(function(){
// values increment
percent += 1;
// apply new values
data.setValue(0, 1, percent);
data.setValue(1, 1, 100 - percent);
// update the pie
chart.draw(data, options);
// check if we have reached the desired value
if (percent > 74)
// stop the loop
clearInterval(handler);
}, 30);

}
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div id="chart_div"></div>

关于jquery - 使用 Google Visualization 制作饼图动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17241338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com