2012-11-07 73 views

回答

1

使用JSON是隻存儲你需要每一年的價值的一種方式。當你切換到另一年時,JS解析給定年的JSON並更新等值線。對於您所提供的例子,這裏是用JSON:

http://gabrielflor.it/static/data/saipe.json

這是一個很好的方式,因爲你只能有一個JSON,每年你需要和你加載它只有一次。 然而,由於D3需求DATAS這樣,我想你應該添加一個JSON如果要提供額外的數據像gabrielflor例如:

http://gabrielflor.it/static/js/d3.poverty-by-county.js?v=121107

他加載JSON像這樣與D3:

d3.json('../static/data/states.json', function (json) { states = json; });

d3.json('../static/data/saipehighlights.json', function (json) { saipehighlights = json; });

+0

如果我有不同類型的數據加載它將不得不駐留在一個不同的JSON文件,我會假設? – pcproff

+0

如果認爲您必須在另一個JSON中執行此操作,因爲d3可能需要使用JSON文件來解析Choropleth。 gabrielflor寫了他自己的代碼,你可以在d3.poverty-by-country找到你可以在這裏找到http://gabrielflor.it/static/js/d3.poverty-by-county.js?v=121107例如他用' d3.json('../ static/data/states.json',function(json){ \t states = json; });'加載額外的數據。 – phemios

0

如果您查看您給出的示例頁面的網絡流量(例如,通過使用Chrome開發者工具)。 貧窮數據文件相當大,但映射數據文件更大。您會注意到,網站加載需要更長的時間,但是後綴在客戶端運行非常順利,無需進行任何服務器調用。

該網站只是瀏覽信息和不錯的設計 - 用於這一目的,我認爲一個較長的加載時間是完全可以接受的,如果用戶體驗後更流暢(即用戶不必等待一年的數據加載。)。