2012-12-15 15 views
5

w D3, w jaki sposób można umieścić oś na środku lub na środku wykresu? documentation mówi "tylko góra/dół/lewo/prawo".orientacja osi d3: centrum

Znam wymiary mojego wykresu, powiedzmy, że jest to 400 na 400 pikseli. W Protovis kiedyś

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

umieszczenie osi 200px od dołu. Jak mogę to zrobić w D3?

Odpowiedz

4

Można przekształcać osie w dowolny sposób. Orientacja dotyczy tylko tego, po której stronie są umieszczane tyknięcia i liczby.

Zobacz np. http://alignedleft.com/tutorials/d3/axes/

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

gdzie wystarczy zmienić parametr transformacji, aby uzyskać co chcesz.

+1

dzięki za odpowiedź. Właściwie pochodziłem z samouczka, do którego się przyłączyłeś i wypróbowałeś go tutaj: http://jsfiddle.net/8DDVN/11/. To skrzypce zawiera twój kod. Właśnie zaczynałem z D3 i miałem dużo do przeczytania i zrozumienia przede mną, aby przejść z Protovis do D3, utknąłem na chwilę. Czy ty lub ktokolwiek mógłby być tak dobry i przesunąć nieco oś X? To byłoby niesamowite, dzięki! – graph

+0

Najbardziej ogólną rzeczą, jaką mogę wymyślić, to spróbować przyjąć postawę "Jest to prostsze i łatwiejsze niż myślisz". Ponieważ pamiętaj, że d3 cały czas zajmuje się po prostu generowaniem rzeczy w DOM przeglądarki. – tjltjl

+0

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