2012-12-15 18 views
5

in D3, come posso inserire un asse al centro o al centro di un grafico? Il documentation dice "solo alto/basso/sinistra/destra".Orientamento d3 asse: centro

Conosco le dimensioni del mio grafico, diciamo che è 400px per 400px. In Protovis Ho usato

vis.add(pv.Rule).bottom(200)

ponendo un asse 200px dal fondo. Come posso farlo in D3?

risposta

4

È possibile trasformare gli assi in qualsiasi modo. L'orientamento si riferisce solo al lato su cui sono posizionati i tick e i numeri.

Vedere ad es. http://alignedleft.com/tutorials/d3/axes/

svg.append("g") 
.attr("class", "axis") 
.attr("transform", "translate(0," + (h - padding) + ")") 
.call(xAxis); 

dove solo bisogno di modificare il parametro per la trasformazione per ottenere quello che vuoi.

+1

grazie per la risposta. In realtà sono venuto dal tutorial a cui ti sei collegato e l'ho provato qui: http://jsfiddle.net/8DDVN/11/. Questo violino contiene il tuo codice. Avendo appena iniziato con D3 e avendo molto da leggere e capire prima di me per passare da Protovis a D3, sono bloccato per il momento. Vorresti, o qualcuno, essere così gentile e spostare quell'asse x solo un po '? Sarebbe fantastico, grazie! – graph

+0

La cosa più generale che posso pensare è provare a prendere l'atteggiamento "È più semplice e più facile di quanto pensi". Perché ricorda che d3 è tutto il tempo per generare semplicemente cose nel DOM del browser. – tjltjl

+0

http://jsfiddle.net/gNyyp/ – tjltjl