2017-04-18 14 views
0

私はd3jsグラフを使用しようとしています。例では、このようなデータを取得します。ASP.NET MVCを使用してd3jsにデータを渡す方法

d3.tsv("data.tsv", function(d) { 
    d.frequency = +d.frequency; 
    return d; 
}, function(error, data) { 
    if (error) throw error; 

    x.domain(data.map(function(d) { return d.letter; })); 
    y.domain([0, d3.max(data, function(d) { return d.frequency; })]); 

そしてdata.tsvファイルには、次のようなものです:

letter frequency 
A .08167 
B .01492 
C .02782 
D .04253 
E .12702 
F .02288 
G .02015 

は、私はこのようなタプルのリストがあるとします。

public class myData { 
public string x {get; set;} 
public int y {get; set;} 
} 

myData data1 = new myData("A", 1); 
myData data2 = new myData("B", 3); 

List<myData> list1 = new List<myData>() 
     { 
     data1, data2 
     }; 

list1をd3jsに渡すにはどうすればよいですか?前もって感謝します。

答えて

0

多くの方法があります...このデータはダイナミックに生成されていますか?

もしそうでなければ、ファイルに入れるだけです。

もしそうなら - あなたはコントローラにJSON()メソッドを使用してJSONとして返すことができ、その後、AJAX呼び出しを消費し、またはあなただけのvar data = @(Model.Data)

+0

のようなJavaScriptで、あなたのビューでそれを吐き出すことができ、データを渡していますvar data = @(Model.Data)のように十分ですか?上記のjsには、マッピングを行う行やそのような行があるからです。ありがとう。 – jason

+0

さて、あなたは明らかにデータをマップする必要があるでしょう...そうでない場合は、どのフィールドを使うべきかをどのように知っていますか?私はあなたのためにそのビットを行うことはできません - それはあなたがグラフ化したいものに依存します....あなたの質問は、バックエンド(C#)のフロントエンド(javascript)でデータを使用して私の質問に答える方法であるように思えました。 D3JSのウェブサイトをご覧になるには、素晴らしいドキュメントと例があります:https://d3js.org/ – Milney

関連する問題