我正在構建一個D3圖,其中包含陰影區域。陰影區域頂部與折線圖相匹配。從D3行內插函數獲取值
的數據看起來是這樣的:
line = [
{x: 0, y:1},
{x: 1, y:2},
{x: 2, y:4},
{x: 3, y:6},
{x: 4, y:3},
{x: 5, y:1}]
和圖形採用了 '紅衣主教' 插補功能:
g = d3.svg.line()
.interpolate('cardinal')
爲了遮陽區域在圖表下方,我只是創建一個d3.svg.area()併爲它提供陰影區域的等效數據,例如(在x = 2和x = 4之間進行遮蔽):
area = [
{x: 2, y:4},
{x: 3, y:6},
{x: 4, y:3}]
a = d3.svg.area()
.interpolate('cardinal')
,但我的問題是,我想陰影圖下1.5和3.5之間的區域,我不知道'基數'插值發生後的值。
所以,我需要解決如何:a)對數據應用基本插值,然後選取1.5和3.5的值或b)從d3中提取線數據並使用它來構建數據爲區域圖。
對於a)我已經看過d3.interpolate,但它看起來與d3.line.interpolate()不同,並且不允許您傳遞插值方法。
對於b)我無法解決如何從插入的行中提取數據,一旦它被插入...它沒有記錄在D3中的任何地方。
哇,謝謝。我每天都會學習一些關於d3和svg的新穎和令人難以置信的東西。發揮魅力。 – mrwooster 2014-09-03 16:03:16