Achartengine legend location

2019-06-20 14:53发布

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.

3条回答
Lonely孤独者°
2楼-- · 2019-06-20 15:38

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.

查看更多
淡お忘
3楼-- · 2019-06-20 15:39

This works:

renderer.setYLabelsAlign(Align.LEFT, 0)
查看更多
等我变得足够好
4楼-- · 2019-06-20 15:54

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.

查看更多
登录 后发表回答