簡體   English   中英

從D3顏色范圍返回單個值以創建圖例

[英]Return individual value from a D3 color range to create legend

我有5種顏色的代碼:

var color = d3.scaleQuantize()
    .range([
        'rgb(237,248,233)',
        'rgb(186,228,179)',
        'rgb(116,196,118)',
        'rgb(49,163,84)',
        'rgb(0,109,44)'
    ]);

我想獲取這些值中的每個值,以便為圖例着色。

我正在嘗試類似的事情,但是它不起作用:

.style('fill', function (d, i) {
    return color.range([0]);
});

如何引用顏色范圍中的每個項目,以便可以用這種方式為圖例着色?

謝謝!

編輯:對不起,我把那用來測試代碼的console.log放在了那兒,現在糾正了。

您可以使用i的函數變量,這些i變量遵循順序。 例如

.style("fill", function (d,i) {
                    return color(i);//or color.range(i);

我想我知道了。 如果在括號中輸入數字,則d3.scaleQuantize()將返回一個值。 但是,只是像常規陣列那樣進行顏色處理就可以分別給我每種顏色,可以將其輸入到圖例中。

.style("fill", function (d, i) {return d};)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM