我無法理解d3.call()如何工作以及何時何地使用它。 Here是我試圖完成的教程鏈接。Javascript庫d3調用函數
能有人請解釋具體是什麼,這一塊是做
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
svg.append("g").call(xAxis);
我無法理解d3.call()如何工作以及何時何地使用它。 Here是我試圖完成的教程鏈接。Javascript庫d3調用函數
能有人請解釋具體是什麼,這一塊是做
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
svg.append("g").call(xAxis);
我認爲這裏的關鍵是要明白,X軸是產生一堆SVG元素的功能。實際上它是由d3.svg.axis()
返回的函數。 scale和orient函數只是鏈接語法的一部分(請閱讀更多內容:http://alignedleft.com/tutorials/d3/chaining-methods/)。
所以svg.append("g")
將SVG組元素附加到svg中,並以選擇(相同鏈式語法在此處)的形式返回對自身的引用。當您在選擇中使用call
時,您正在調用名爲xAxis
的功能,選擇g
的元素。在這種情況下,您正在新創建並附加的組g
上運行軸功能xAxis
。
如果仍然沒有意義,上面的語法相當於:
xAxis(svg.append("g"));
或:
d3.svg.axis()
.scale(xScale)
.orient("bottom")(svg.append("g"));
如何編輯svg.axis()的G元素?我有流血的標籤進入彼此,我想對他們應用轉換。但我似乎無法訪問這些元素 – CQM
檢查答案在這裏http://stackoverflow.com/questions/12825630/assign-ids-to-individual-axis- text-elements/12849772#12849772選擇文本或刻度元素後,如果需要,應該可以應用變換。 – Superboggly
在調用xAxis時是否有區別? – st4rgut
您提供的鏈接解釋了什麼是'()調用'確實 – Ibu
是啊,但我仍然無法獲得什麼svg.append(「g」).call(xAxis);正在做:( – Andy897
請參閱https://github.com/d3/d3-selection/blob/master/README.md#selection_call –