2013-03-23 14 views
14

Sto costruendo una presentazione di dati in cui due grafici Highcharts sono impilati verticalmente e sono destinati a condividere le stesse unità e l'allineamento dell'asse x. In questo modo:Corretta l'ampiezza dell'etichetta dell'asse y in Highcharts

Stacked Highcharts

noti che poiché gli intervalli dell'asse y sono diversi per i due grafici, le etichette dell'asse y sono diverse larghezze e quindi i grafici stessi sono leggermente diverse larghezze spezzare le belle asse x allineamento.

Sarebbe bello poter aggiustare la larghezza del grafico (o viceversa le etichette dell'asse y) per garantire l'allineamento dei due grafici. Ho esplorato l'api e ho giocato un po 'con l'impostazione dello stile direttamente sui vari elementi generati ma senza fortuna. Sembra possibile raggiungere questo obiettivo usando un formattatore di etichette personalizzato, ma il formattatore di riserva (come se definissi nulla di personalizzato) funziona piuttosto bene per abbreviare numeri grandi e così via.

Idee su come fissare il grafico o la larghezza dell'etichetta dell'asse y?

+0

L'immagine sembra mancare qui. Hai risolto il tuo problema? Qualcuna delle soluzioni proposte funziona? Sono interessato. – Jerome

+0

Avevo un requisito simile per mostrare più grafici con lo stesso allineamento dell'asse Y, la soluzione @Torstein Hønsi funziona perfettamente. – rajarshig

risposta

1

Un po 'hacky, ma dovrebbe funzionare:

  • set per entrambi asseX width, ad esempio 400px
  • impostato per tutti gli assi (xAxis e yAxis) right, ad es. 20px

Ora asseY dovrebbe avere la stessa larghezza e anche gli stessi estremi ecc

Altro (e forse anche meglio) la soluzione è quella di utilizzare due riquadri per Highcharts. Funziona esattamente nello stesso modo in Highstock, vedi esempio: http://www.highcharts.com/stock/demo/candlestick-and-volume

+0

Grazie per le idee! Per il modo hacky, non sono sicuro di seguirlo - i documenti API non mostrano alcuna larghezza o attributi giusti per xAxis o yAxis. E quando imposto la larghezza: "400px" o simile per xAxis non viene disegnato nulla per il contenuto del grafico. Lo sln a due riquadri sembra funzionare bene ma richiederebbe un po 'di ristrutturazione nei componenti esistenti così utile, ma idealmente il modo hacky sarebbe il migliore. – qfinder

+0

Crea esempio jsFiddle, che possiamo lavorare. Dovrebbe funzionare. –

20

Se si imposta l'opzione chart.marginLeft, si sostituiranno le etichette di dimensione automatica in modo che gli assi Y siano allineati.

1

Questa è una risposta tardiva, ma ora è possibile eseguire più grafici all'interno dello stesso oggetto Highcharts. Non dovresti provare manualmente a forzare gli assi Y per allinearli quando usi questo metodo, poiché Highcharts farebbe tutto il lavoro per te.

http://www.highcharts.com/demo/combo

Problemi correlati