Google Charts Line Chartを使用していますが、チャート範囲フィルタにバインドする際に問題があります。 コンテナ:Google Chartsのグラフ範囲フィルタLineChart
<div id="dashboard_div">
<!--Divs that will hold each control and chart-->
<div id="control_div" style="width: 100%; height: 100%"></div>
<div id="daily_container_count_lineChart" style="width: 100%; height: 100%"></div>
</div>
JSの一部を:
var chart = new google.visualization.ChartWrapper({
chartType: 'LineChart',
containerId: 'daily_container_count_lineChart',
options: {
theme: 'maximized'
}
});
var control = new google.visualization.ControlWrapper({
controlType: 'ChartRangeFilter',
containerId: 'control_div',
options: {
filterColumnIndex: 0
}
});
var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard_div'));
dashboard.bind([control], [chart]);
dashboard.draw(data);
私は、Webページ内のダッシュボードの代わりに、次のエラーを取得する。ここ
は、私がしようとしているものです。コンソールにエラーはありません。
つ以上の参加者が
あなたはむしろあなたがしてdraw()メソッドを呼び出し
たDataTableまたはDataViewのよりもデータの間違ったタイプとdraw()メソッドと呼ばれる)(描画することができませんでしたデータの間違ったタイプではなく、DataTableのか、DataViewの
私はちょうど下のようなグラフのレンジフィルターなしで折れ線グラフを描画しようとすると、それが出て、エラーを正常に動作します:
ChartRangeFilterずに単に線グラフを描く:
データをロードvar dailyContainerChart = new google.charts.Line(document.getElementById('daily_container_count_lineChart'));
dailyContainerChart.draw(data, {allowHtml: true, width: '100%', height: '100%'});
を:
var getDailyContainerLineData = function (sourceData)
{
var data = new google.visualization.DataTable();
data.addColumn('date', 'Date');
data.addColumn('number', 'VIC - STH CRT');
data.addColumn('number', 'NSW - MINTO');
data.addColumn('number', 'QLD - PINKENBA');
data.addColumn('number', 'WA - HAZELMERE');
for(k =1;k< sourceData.getNumberOfColumns();k++)
{
var rowData = new Array();
var rowStart = sourceData.getColumnLabel(k);
rowData.push(new Date(rowStart));
for(l =0;l<sourceData.getNumberOfRows()-1;l++) // we don't want the 'total' row from the daily container table
{
var test = sourceData.getValue(l, k);
if(typeof test === 'string')
{
var date = Date.parse(test);
rowData.push(date);
}
else
{
rowData.push(test);
}
}
data.addRow(rowData);
}
return data;
}
上方から返されるデータは、ダッシュボードを描画するために使用されLineGraphを使用します。
私の質問は以下のとおりです。 なぜ私は私が唯一の折れ線グラフ
を描くとき、私はフィルタにChartRangeFilerを得ることができます私はChartRangeFilterと折れ線グラフを描画しようとすると、間違ったデータ型エラーを取得しますが、いない午前同時に異なるデータソースを持つ2つのグラフ(テーブルと折れ線グラフ)
乾杯。
? – WhiteHat
チャートコントローラなしで生成されたライングラフのスクリーンショットとグラフのソースデータをGoogleグラフテーブルとして追加しました。あなたがもっと情報を必要とするかどうかを教えてください。 – DrkStr
申し訳ありませんが、私はあなたが 'data'をどこに読み込むかを尋ねていました。これはチャートとダッシュボードの両方で同じように動作するはずです。 DataTableまたはDataViewの代わりに通常の配列が渡されているようなエラーが発生します...? – WhiteHat