Zastanawiałem się, czy mógłbyś mi pomóc z follwoing D3js Zoom i funkcjonalności Pan w poniższej skrzypce: http://jsfiddle.net/moosejaw/nUF6X/5/D3 Pan zoom przelewowy
Mam nadzieję, że kod (choć nie wielki) jest prosta.
Mam wykres, który ma całkowitą długość chromosomu przez całkowitą długość chromosomu. Wartości tick są indywidualnymi długościami (sumami) każdego chromosomu. Tiki są sformatowane tak, aby były nazwą chromosomów (aby wyglądały ładnie dla użytkownika końcowego).
Problemy, mam to:
oś X i oś Y etykiety rozciąga się na zewnątrz obszaru wykresu. Kiedy nie dostarczam wyraźnie wartości kleszcza, etykiety "znikają" tak, jak powinny. Zobacz:
var yAxis = d3.svg.axis() .scale(y) .orient("left") .tickValues(tickValues) .tickFormat(function(d) { var ret = bpToChrMBP(d); return ret.chr; });
Jak mogę zapobiec osi X, aby nie przesuwać w lewo przed wartością minimalną? Nie przesuwaj w prawo poza maksymalną wartość? Zdarza się to niezależnie od tego, czy jestem powiększony. (Taka sama dla osi Y, z wyjątkiem góry i dołu).
Czy istnieje sposób na wycentrowanie etykiet osi między znacznikami. Znaki podziałki nie są równomiernie rozmieszczone. Próbowałem użyć podziału na mniejsze znaczniki, ale to nie dzieli poprawnie znaczników.
Każda pomoc będzie bardzo ceniona!
Matt
Tak ... Zgadzam się, że ścieżka klipu nie zapewnia tej samej funkcjonalności co oś, ale jest najlepszą alternatywą/obejściem. Dziękuję za rozwiązanie ... Wiedziałem, że czegoś brakuje! – mattjvincent
Super rozwiązanie. Działa jak marzenie. –