Sto provando a creare una funzione di asse che le tacche/etichette siano dinamiche e significano che si nascondono/mostrano automaticamente. Ma in cima a quello, voglio ad un certo livello di zoom per fermare il rendering di più zecche/etichette. Ecco un esempio: all'inizio l'asse mostra gli anni, quindi quando si ingrandisce, i tick diventano Mesi, e quando si ingrandisce ulteriormente, mostra i giorni (I.E., 28 dicembre). Tranne che voglio limitare d3 in modo tale che quando esegui lo zoom oltre i mesi, non rende più tick perché i mesi sono l'unità più piccola che voglio.Le etichette degli assi D3 diventano troppo granulose quando si ingrandisce
Ho un paio di esempi che se combinato sarebbe esattamente quello che voglio, ma non riesco a capire come farlo.
Inoltre: Ho aggiunto il .tickFormat perché voglio visualizzare ogni segno di spunta per avere un formato di mese abbreviato.
Esempio 1: http://jsfiddle.net/GGYKL/
var xAxis = d3.svg.axis().scale(x)
.tickFormat(d3.time.format('%b'))
.orient("bottom");
Questo esempio mostra come le zecche/etichette appaiono e scompaiono correttamente quando lo zoom in, ma quando si continua lo zoom in, si divide i mesi e inizia a ripetere il mese zecche/etichette, e io non voglio impedire all'utente di zoom in
Esempio 2:. http://jsfiddle.net/4kz7t/
Questo esempio corregge il problema quando si esegue lo zoom in avanti come quello che abbiamo visto con l'Esempio 1, MA non si nasconde/mostra dinamicamente le zecche/etichette durante lo zoom.
D3 lo fa automaticamente, non dovrebbe essere necessario per dare un ' .tickFormat' a tutti - http://jsfiddle.net/GGYKL/1/ –
Puoi semplicemente definire il tuo formato ora multi-scala - vedi http://bl.ocks.org/mbostock/4149176 –
@ Lars Kotthoff La ragione per cui ho aggiunto il .tickFormat è perché voglio il formato del mese abbreviato (gennaio, febbraio, marzo non 2013, gennaio). C'è un'opzione in d3 per interrompere l'aggiunta di più segni di graduazione a un certo grado di zoom? Dire come dopo aver mostrato i segni di spunta del mese, se si ingrandisce ulteriormente NON si divide l'intervallo in giorni? Userò il TUO esempio: se fai zoom su "2004" vedrai presto "Aprile", "Luglio", Ottobre "," 2004 ", ecc. MA se continui a zoomare, vedi" Novembre "," Dicembre " , "2004", ecc. Zoom ancora di più e si divide in "28 dicembre", 29 dicembre "che è quello che sto cercando di capire. – dcryan22