2017-06-22 53 views
1

我想要製作一個在50到100之間線性的標尺,但是如果任何異常值低於50或高於100,則強制分別強制爲50或100,以便它不會脫離我的圖表的可見範圍。 (該計劃是那麼讓用戶知道他們要麼不是比他們看起來是或多或少以不同風格的數據點。)D3中的線性分段標尺

enter image description here

我怎麼會去作線性分段D3的規模是這樣嗎?或者,更簡單的做法是製作一個由SVG的y屬性直接調用的「網守」函數,手動執行這些強制操作,然後使用「範圍內」值調用規則線性標度,以便「超出範圍「價值觀永遠不會發送到正常的線性規模?

回答

2

我認爲你已經完成了這個複雜化。

我敢肯定,你使用的是d3.linefunction,剛剛封頂的Y訪問的值:

var line = d3.line() 
    .x(function(d) { return x(d.x); }) 
    .y(function(d) { 
    if (d.y > 150) return y(150); 
    else if (d.y < 50) return y(50); 
    else return y(d.y); 
    });