複数の折れ線グラフを作成しようとしています。 (ビジュアライザがChartjsです。)README
から:Rails Chartkick。ネストされたハッシュを含む複数系列折れ線グラフ
<%= line_chart [
{name: "Series A", data: series_a},
{name: "Series B", data: series_b}
] %>
私のデータは、すでにJSON形式で来ますが、権利を取得するために少しの操作を要しています。生の形式は次のようになります。だから、
=> [{"id"=>30,
"runner"=>"Golden State Warriors",
"price"=>1.51,
"histories"=>[{"price"=>1.51, "created_at"=>"2016-11-19T17:42:18.699Z"}, {"price"=>1.51, "created_at"=>"2016-11-20T07:56:55.662Z"}]},
{"id"=>32, ETC
、得 markets.map{ |m| [name: m['runner'], data: m['histories'].map{|h| [h['created_at'], 1/h['price']] }]}.flatten!
で:私はエラーを取得していないが
=> [
{:name=>"Golden State Warriors", :data=>[["2016-11-19T17:42:18.699Z", 0.6622516556291391], ["2016-11-20T07:56:55.662Z", 0.6622516556291391]]},
{:name=>"Los Angeles Clippers", :data=>[["2016-11-19T17:42:18.795Z", 0.1], ["2016-11-20T07:56:55.717Z", 0.1]]}, ETC
は、チャートが0,0で[object Object]
と空の象限であります。
チャートは異なるデータで同じことを示すページを複数のチャートに作成したいので、私のビューで@markets.each
ブロックにあります。私は.each_with_index
でいじって、私はチャートがちょうど手動README
が示すようにデータを入力することにより、部分的に表示するために取得することができます。チャート上の最初の2つのシリーズを示しているが、右することはできません
<%= line_chart [
{name: markets[i]['runner'], data: markets[i]['histories'].map{|h| [h['created_at'], 1/h['price']]}},
{name: markets[i+1]['runner'], data: markets[i+1]['histories'].map{|h| [h['created_at'], 1/h['price']]}}
] %>
各チャートごとに異なるi要素が存在するためです。
どうすればよいですか?