DygraphGVizChartの列の表示を変更しようとしています。
これは機能します:
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
});
}
また、これは機能します:
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
visibility: [false, true, true, true]
});
}
しかし、内部drawChart
では、そのコードの後に、次の行を追加すると、
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
});
window.chart1.setVisibility(0, true);
window.chart1.setVisibility(1, false);
}
エラーが発生します:
Uncaught TypeError:undefinedのメソッド'setVisibility'を呼び出すことはできません。drawChart
この質問を読んだ後chart1
、実行時に準備ができていないのではないかと思いました。だから私はこの関数を追加しました:
function showChange() {
alert('show chart1:' + window.chart1);
window.chart1.setVisibility(3, false);
}
<a href="#" onclick='showChange();return false;'>showChange</a>
しかし、showChange
リンクをクリックすると、同じエラーが発生します。
Uncaught TypeError:未定義のメソッド'setVisibility'を呼び出すことができません
そしてアラートウィンドウは言う:
チャート1を表示:未定義