Animasi carta Google kehilangan keterlihatan apabila data carta berubah
P粉170438285
2023-09-02 12:32:58
<p>Saya menghadapi masalah untuk mendapatkan animasi Carta Google berfungsi dengan baik. Saya rasa masalahnya ialah carta terus melukis semula dan bukannya hanya mengemas kini data, tetapi berdasarkan kod sampel Google dan pengetahuan terhad saya tentang JavaScript, saya tidak pasti cara untuk membetulkannya. Saya tidak mahu memasukkan butang untuk mengemas kini carta kerana carta akhirnya akan mengemas kini data secara dinamik daripada sumber data. Bagaimanakah cara saya mengemas kini carta saya untuk menghidupkan perubahan data dengan betul? </p>
<p>Rujukan: https://developers.google.com/chart/interactive/docs/animation</p>
<pre class="brush:php;toolbar:false;"><!DOCTYPE html>
<html>
<kepala>
<sasaran asas="_atas">
<script src="https://www.gstatic.com/charts/loader.js"></script>
</head>
<badan>
<div id="pizzaChart" style="limpahan: tersembunyi"></div>
<p id="logger"></p>
<skrip>
google.charts.load('semasa', {'pakej':['carta teras']});
google.charts.setOnLoadCallback(drawChart);
fungsi drawChart() {
var mushroomData = Math.floor(Math.random() * 11);
document.getElementById("logger").innerHTML = mushroomData;
var data = google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('nombor', 'Slices');
data.addRows([
['Mushrooms', mushroomData],
['Bawang', 1],
['Olives', 1],
['Zuchini', 1],
['Pepperoni', 2]
]);
pilihan var = {
tajuk: 'Berapa Banyak Pizza yang Saya Makan Semalam',
lebar: '100%',
animasi: {tempoh: 1000, pelonggaran: 'keluar'}
};
carta var = google.visualization.ColumnChart(document.getElementById('PizzaChart'));
carta.draw(data, pilihan);
}
setInterval(drawChart, 1000);
</skrip>
</badan>
</html></pre>
Untuk membolehkan carta menganimasikan daripada satu set data ke set seterusnya, anda perlu menyimpan rujukan kepada carta yang sama dan bukannya membuat carta baharu setiap kali anda melukis.
Sila rujuk contoh berikut...
Nota: Carta pai Google tidak menyokong kesan animasi.