約 90% 完成したアプリケーションの JavaScript フレームワークとして YUI3 を使用しています。きれいなグラフをいくつか表示する必要がありますが、YUI3 のグラフ作成機能には多くの要望が残されています。
Google の Visualization API を使用して YUI3 サンドボックス内でプロットを生成しようとしていますが、機能していないようです。サンプルコードは次のとおりです。
<html>
<head>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript' src = 'build/yui/yui-min.js'></script>
</head>
<body>
<div id='chart_div'></div>
</body>
</html>
<script type='text/javascript'>
var some_foo = function () {
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Memory', 80],
['CPU', 55],
]);
var options = {
width: 400, height: 120,
redFrom: 90, redTo: 100,
yellowFrom:75, yellowTo: 90,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
chart.draw(data, options);
}
}
YUI().use('node', function (Y) {
/* doing some super-awesome stuff */
/* now trying to show charts with some data */
some_foo();
});
</script>
some_foo() への呼び出しを YUI3 サンドボックスの外に置くと、コードは機能します。しかし、YUI3 内から呼び出そうとすると、うまくいきません。
また、YUI3 サンドボックス内、YUI3 サンドボックス外、YUI3 サンドボックスの前、および YUI3 サンドボックスの後に some_foo() を宣言しようとしました。FF14+ と Chrome20+ でコードを試しました。
足りないものはありますか?