2017-04-18 81 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

有很多方法......這個數據在dyamically生成?

如果不是 - 你可以把它放在一個文件中。

如果是這樣的 - 你可以返回爲使用JSON()方法在控制器JSON,然後用AJAX調用消耗,或者你可以只吐了出來在視圖中的JavaScript像var data = @(Model.Data)

+0

是傳遞數據像var data = @(Model.Data)就夠了?因爲在上面的js中,有些線可以進行映射或類似的東西。謝謝。 – jason

+0

嗯,是的,你顯然仍然需要映射數據......否則它將如何知道使用哪個字段?我們不能爲你做那個 - 它取決於你想要的圖表......你的問題似乎是關於如何使用前端(javascript)中的後端數據(C#)來解決我的問題。有關D3JS的幫助,請查看他們的網站,他們有很好的文檔和示例:https://d3js.org/ – Milney

相關問題