1

すばらしい JS グラフ作成ライブラリ Rickshaw をプロジェクトに統合しようとしています。人力車はここにあります: http://code.shutterstock.com/rickshaw/

グラフ化したいデータは単純な配列です。

data = [51929, 65932, 49119, 50379, 103501, 92430, 93107, 105710, 115200, 109283]

配列内の各要素のインデックスを x 座標として使用し、要素自体を y 座標として使用したいと思います。Richshaw がその魔法を実行できるように、これを次のような形式にフォーマットする必要があります。

data = [ { x: 0, y: 40 }, { x: 1, y: 49 }, { x: 2, y: 17 }, { x: 3, y: 42 } ];

私はさまざまな方法を試しましたが、最も近いのは、次のようにハッシュを内部に含む引用符の配列を生成することです。

clean_data = []
data.each_with_index do |value, index|
  clean_data << "{x: #{index}, y: #{value} }”
end 
clean_data.to_a

戻り値:

["{x: 0, y: 51929}", "{x: 1, y: 65932}", "{x: 2, y: 49119}" ... etc...]

したがって、私の質問は、上記の引用符を削除してハッシュの配列だけを取得するにはどうすればよいか、または間違った方向に進んでいる場合は、配列をフォーマットして人力車に表示できるようにするにはどうすればよいですか? ここでは Ruby を使用したいと思いますが、JavaScript での作業も同様に優れています。

ありがとう。

4

2 に答える 2

0
p data.map.with_index{|val, idx|
  Hash[:x,idx,:y,val]
}
#=> [{:x=>0, :y=>51929}, {:x=>1, :y=>65932}, {:x=>2, :y=>49119} .....
于 2013-11-15T11:05:36.660 に答える
0

あなたはかなり近かった。これを試して:

data = [51929, 65932, 49119, 50379, 103501, 92430, 93107, 105710, 115200, 109283]
clean_data = []
data.each_with_index do |value, index|
  clean_data << {:x => index, :y => value}
end 

clean_data.to_json
于 2013-11-15T05:05:55.343 に答える