2

MVC アプリケーションからのデータをd3.js バブル チャートにフィードする良い方法を探しています。たとえば、標準のバブル チャートでは、次の形式でネストされたデータが想定されます。

{
    "name": "flare",
    "children": [
        {
            "name": "analytics",
            "children": [
                {
                    "name": "cluster",
                    "children": [
                        {
                            "name": "CNN",
                            "size": 3938
                        }
                    ]
                },
                {
                    "name": "graph",
                    "children": [
                        {
                            "name": "MTV",
                            "size": 3534
                        }
                    ]
                }
            ]
        }
    ]
}

私がサーバー側に持っているのは、SQL データベースへのこの linq クエリです。

var results = from a in db.Durations
                          where a.Category == "watch"
                          group a by a.Description
                              into g
                              select new
                              {
                                  name = g.Key,
                                  size = g.Select(d => new{d.Begin, d.End}).Sum(d => SqlFunctions.DateDiff("hh", d.Begin, d.End))
                              };

            return Json(results, JsonRequestBehavior.AllowGet);

Json として解析されたクエリ結果は次のようになります。

[{"name":"CNN","size":1950},{"name":"MTV","size":1680}]

正しい書式設定を実現し、クエリ結果からネストされた構造を作成するための良い方法について、頭の中で立ち往生しています..

  1. サーバー側、匿名型の使用
  2. サーバー側、linq-query の調整
  3. クライアント側、d3.js ネストを使用
  4. 私の目的では、子を持つネストされた構造は実際には必要ないため、より単純なバブルモデルを使用してください
  5. 1-4とはまったく違う、はるかにクールなもの

ご意見ありがとうございます。

4

1 に答える 1