我是StackOverflow的新手,剛開始使用D3。 我需要在地圖上顯示值。我看到this question與我應該做的非常相似。使用D3.js着色地圖
我想要的是根據列Date
列中的值將國家上色爲CSV並且基於用戶選擇的年份(單選按鈕)。 我該怎麼做?
我創建了一個灰度色標,並將它們包含在一個數組中,然後我創建了一個方法chooseColor(value)
,該方法根據該國在該年的值返回正確的顏色。 我認爲這不是最有效的方法來做這件事...
在我的CSV也不是所有的國家在歐盟出席。例如,我沒有關於俄羅斯的數據,因此我「關閉」了一些國家將if
放在mouseover
的事件中。 但是爲了擴大已知的國家,我還會在地圖上切掉俄羅斯的一部分。我怎麼能做到這一點?
我看着這些例子:等值線和閾值等值線由邁克·博斯托克在bl.ocks.org但我不知道如何上色的國家...... (我希望把聯繫,但我可以由於我的信譽低,不會超過2個鏈接)
我爲我的壞英語道歉。謝謝大家,
碼頭
編輯
我承認我不明白你的代碼中的一些東西。
- 爲什麼我需要活動
on mouseover
和mouseout
?什麼是hover
和rhover
?我以爲他們是與this question有關的事件。但在我的情況下,我不需要它,不是嗎? - 使用
array_values
或d
是一樣的吧?如果我使用d
或array_values
不會改變,對吧?這是一個愚蠢的問題,但讓我困惑。 我以這種方式修改了
makemap
方法。我正確理解如何使用你的代碼?function makemap(error,europe,dessease)dess = dessease.slice(); county = topojson.feature(europe,europe.objects.collection);
vector = svg.selectAll("path") .data(counties.features) .enter() .append("path") .attr("class", "county") .attr("id", function(d) { return "coun" + d.properties.indx; }) .attr("d", path) .style("fill", function(array_values) { return color(array_values[d.country]); });
在這種情況下沒有關於d
,當然是一個錯誤。對不起,我不知道我在哪裏錯了...
請刪除您的功能:選擇顏色。或者重構它 – Klaujesi