Achartengine legend location

2019-06-20 15:04发布

问题:

Does anyone know how to change the location of the legend? I am trying to expand the graph to make use of all the space.

So far I have

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

This expands the graph lower but the legend stays in the same location so it is now above the x axis

I tried

mRenderer.setLegendHeight(5);

with both negative and positive values. I'm not sure what this is supposed to do but it makes my graph go wayyyy low on the the screen (turns it into a scrollable view).

Also, may not be important but this is in a fragment and is a XYChart type.

回答1:

The property setLegendHeight(..) moves the position of the legend. Try to change the values you are using in both functions, that would work. cheers.

Harry.



回答2:

This works:

renderer.setYLabelsAlign(Align.LEFT, 0)


回答3:

In addition to using the advice above I found the following useful…

// 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);

In the end I had both the bottom margin and the legend height set to zero but still saw it on the screen with margins showing up in Red (from my diagnostic above). I think some margins must be auto calculated for the legend from the setFitLegend.