私のアプリは、Google チャート API を使用して 4 つのデータ シリーズをチャート化します。コントローラーは配列をロードし、ビューにはカートを描画するための Google チャート JavaScript があります。
配列が完全に取り込まれている場合は機能しますが、もちろん、データ系列にいくつかのポイントが欠落している場合があり、系列で「欠落している」データポイントを指定する方法がわからないため、arrayToDataTable() javascript 関数は「null」を提供することを認識しますそのポイントのデータ。
私のコントローラーでは、配列にデータをロードします (完全に入力された配列の例):
@typed_array = [["Month", "Apples", "Bananas", "Cherries", "Oranges"],
["Jan", 5.0, 4.0, 3.0, 7.0],
["Feb", 6.0, 3, 3.0, 7.0],
["Mar", 7.0, 5.0, 4.0, 6.0],
["Apr", 8.0, 5.0, 4.0, 5.0],
["May", 9.0, 6.0, 5.0, 4.0]]
ビューには次が含まれます。
%script{:src => "https://www.google.com/jsapi", :type => "text/javascript"}
:javascript
google.load('visualization', '1.0', {'packages':['corechart']});
google.setOnLoadCallback(drawChart);
function drawChart() {
// Create the data table.
var data = new google.visualization.arrayToDataTable(#{@typed_array});
// Set chart options
var options = {'title':'Report 1: ',
backgroundColor: { fill: "#fee", stroke: "#246", strokeWidth: 2 },
'width':800,
'height':300,
'interpolateNulls':true};
var chart = new google.visualization.LineChart(document.getElementById('chart_div_line1'));
chart.draw(data, options);
}
#chart_container
%p
#chart_div_line1{:style=>"padding:20px;"}
%p
完全に配置されたアレイの場合、正常に機能します。
arrayToDataTable が null (欠落) 値であることを認識できるように、ruby 配列に何を入れるかを知っている人はいますか?
["Feb", 6.0, ????, 3.0, 7.0],
nil
'nil'
'null'
'_'
'__'
チャートを破るすべてを試しました。