0

morris.js ( http://www.oesmith.co.uk/morris.js/donuts.html ) を使用してドーナツ グラフを作成しようとしていますが、データを正しくフォーマットするのに問題があります。

現在、これはデータのフォーマット方法です。

{"2D"=>"6768.96", "1DP"=>"293.63", "3D"=>"84.97", "1D"=>"361.83", "GR-RES"=>"19083.85", "GR-COM"=>"11254.69"}

以下は私の現在のコードです

<%= content_tag :div, "", id: "shipments-by-service-type", data: {shipments: @details.group(:family).sum("base_charge + discount")} %>


jQuery ->
  Morris.Donut
    element: "shipments-by-service-type"
    data: $('#shipments-by-service-type').data('shipments')

これは、データをjsに渡し、解析してグラフを作成する最初の経験です。

4

1 に答える 1

2

したがって、上記のコメントで指摘した引用符の問題を修正し、外側の引用符をエスケープするか、単一引用符に切り替えると、この JavaScript は入力を解析し、ドーナツ グラフの準備を整えます。

var dataArr = [];
var obj = $("#shipments-by-service-type-simple").data('shipments');
for ( var prop in obj) {
  dataArr.push({"label": prop, "value": obj[prop]});
}

Morris.Donut({
  element: 'donut-example',
  data: dataArr
});

これがjsbinです。Raphael は 10 進値が気に入らず、エラーをスローしているようです。値を丸めたい場合があります

于 2013-03-28T21:02:17.957 に答える