1
複数のGoogle Chartsを1ページ表示したい。私は解決策を探して、このサイトで解決策を見つけました。簡単に新しいグラフを作成する関数。今では1つのチャートで作業していますが、2つ目のチャートを追加してもそれ以上は機能しません。 JsonとdivのIDは正しいですが、どちらもチャートの1つのみコードを使用しているときにどちらも動作します。どのようなアイデアが問題/解決策ですか?複数のGoogle Charts、1つしか働いていない
$(function() {
var jsonDataClicks = $.ajax({
url: 'ajax/get-total-clicks.php',
dataType: 'json',
async: false
}).responseText;
var jsonDataActiveProducts = $.ajax({
url: 'ajax/get-total-active-products.php',
dataType: 'json',
async: false
}).responseText;
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(function() {
drawChart(jsonDataClicks, 'total_clicks');
});
google.charts.setOnLoadCallback(function() {
drawChart(jsonDataActiveProducts, 'total_active_products');
});
function drawChart(dataInput, containerID) {
var data = new google.visualization.DataTable(dataInput);
var containerDiv = document.getElementById(containerID);
var options = {
vAxis: {
gridlines: {
color: '#ebebeb'
}
},
animation: {
startup: true,
duration: 1000,
easing: 'out'
},
hAxis: {
slantedText: true,
slantedTextAngle: 45,
textStyle : {
fontName: 'Lato',
fontSize: 11,
color: '#6f6f6f'
}
},
vAxis: {
textStyle: {
fontName: 'Lato',
fontSize: 11,
color: '#6f6f6f'
}
},
tooltip: {
textStyle: {
fontName: 'Lato',
fontSize: 11,
color: '#6f6f6f'
}
},
width: 1160,
height: 400,
chartArea: {'width': '80%', 'height': '80%'},
colors: ['#47ab8b'],
legend: 'none'
};
var chart = new google.visualization.ColumnChart(containerDiv);
chart.draw(data, options);
}
});
うわー、それは魅力的です!ありがとう! – Roger
ページ内で複数回google.charts.setOnLoadCallbackを安全に呼び出すことができるようになりました。 google.charts.load。 – dlaliberte