penso che il trucco è quello di capire che asseX è una funzione che genera un mucchio di elementi SVG. In effetti è la funzione restituita da d3.svg.axis()
. Le funzioni di scala e orientamento sono solo parte della sintassi di concatenamento (leggi di più qui: http://alignedleft.com/tutorials/d3/chaining-methods/).
Quindi svg.append("g")
aggiunge un elemento del gruppo SVG allo svg e restituisce un riferimento a se stesso sotto forma di una selezione (stessa sintassi della catena in questo caso). Quando si utilizza call
in una selezione, si chiama la funzione denominata xAxis
sugli elementi della selezione g
. In questo caso si sta eseguendo la funzione dell'asse, xAxis
, sul gruppo appena creato e aggiunto, g
.
Se che ancora non ha senso, la sintassi di cui sopra è equivalente a:
xAxis(svg.append("g"));
o:
d3.svg.axis()
.scale(xScale)
.orient("bottom")(svg.append("g"));
il link che hai fornito spiega cosa 'call()' fa – Ibu
Sì, ma ancora non riesco a ottenere ciò che svg.append ("g") .call (xAxis); sta facendo :( – Andy897
vedere https://github.com/d3/d3-selection/blob/master/README.md#selection_call –