2011-09-25 13 views
5

Qualcuno sa come modificare la posizione della legenda? Sto cercando di espandere il grafico per utilizzare tutto lo spazio.Posizione legenda Achartengine

Finora ho

mRenderer.setMargins (new int [] {20, 30, -50, 0});

Questo espande il grafico inferiore ma la legenda rimane nella stessa posizione quindi è ora al di sopra dell'asse x

Ho provato

mRenderer.setLegendHeight (5);

con valori sia negativi che positivi. Non sono sicuro di cosa dovrebbe fare, ma rende il mio grafico troppo basso sullo schermo (lo trasforma in una vista scorrevole).

Inoltre, potrebbe non essere importante ma questo è in un frammento ed è un tipo XYChart.

+0

Basta provare a rimuovere mRenderer.setMargins e provarlo una volta .... –

risposta

7

La proprietà setLegendHeight (..) sposta la posizione della legenda. Prova a cambiare i valori che stai usando in entrambe le funzioni, che funzionerebbero. Saluti.

Harry.

+4

Ho dovuto estrarre il valore negativo (reso 0) per la parte inferiore del margine e reso LegendHeight (50). Per farlo sembrare giusto. Sembra essere una strana relazione tra il 2. Vorrei che ci fosse una sorta di documentazione che mi ha aiutato. – easycheese

2

Questo funziona:

renderer.setYLabelsAlign(Align.LEFT, 0) 
+0

Non mostra tale funzione per DefaultRenderer ... Aggiornamento: oka, è per un grafico non per un grafico. Fatto. –

2

Oltre a utilizzare i consigli sopra ho scoperto questa utile ...

// Temporarily show margins so I can work out what is going on 
renderer.setMarginsColor(Color.RED); 

// Legend was being cropped or not shown at all until I did this 
renderer.setFitLegend(true); 

Alla fine avevo sia il margine inferiore e l'altezza legenda impostato a zero ma lo vedevo ancora sullo schermo con i margini visualizzati in rosso (dalla mia diagnostica sopra). Penso che alcuni margini debbano essere calcolati automaticamente per la legenda dal setFitLegend.

Problemi correlati