私はGoogleビジュアライゼーションを初めて使用しようとしています。私はSmartyを含む既存のMVC構造内で作業しなければならないという事実によって、少し複雑になっていますが、これはby-by-byです。Googleの視覚化 - ChartWrapper - テーブルに列がありません
私はsmartyに渡すデータの正しいセットを取得します。 Smartyのは、その後、Googleの可視化のためのデータをフォーマットし、私は( 'ビューソースのブラウザからのコピー&ペースト)これを取得する:実行時に
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1');
google.setOnLoadCallback(drawVisualisation);
function drawVisualisation() {
var wrapper = new google.visualization.ChartWrapper({
chartType: 'ColumnChart',
dataTable: [['', 'android', 'iphone', 'unknown'],['2012-01-24', 2, 1, 2],['2012-01-25', 1, 1, 1]],
options: {'title': 'Periods'},
containerId: 'access-chart'
});
wrapper.draw();
};
</script>
しかし、これは「表にデータがない」ことになります。
本当に変わったのは、生成されたコードをコピーして、渡されたデータから書式設定せずにテンプレートに直接貼り付けると、グラフが正しく表示されるということです。
ここで問題となることは何ですか?どのように修正できますか?
これはうまくいくはずです。これが実行されているときにコンソールを開いている場合は、これが呼び出されない可能性のある他のjsエラーが表示されますか? 「アクセス・チャート」は、あなたのページの要素IDです(drawVisualizationコールバックの前に存在します)。ページのソース全体を貼り付けることはできますか? – oli
他のエラーはありません。「テーブルにはデータがありません」というエラーだけです。 'access-chart'要素が存在し、その中にホワイト・オン・レッドのテキスト「Table has no data」が表示されます。ページ全体が大きすぎます(500行以上のhtml/jsコード) - チャートはほんの一部です。 –
ソース全体を新しいHTMLページに貼り付けて実行すると、グラフが描画されますか?そうでなければ、ページにはそれ以外のものがあります。そうであれば、レンダリングプロセス中に何か起こっている可能性があります。 – oli