1

我如何知道在 AChartEngine 图表中使用哪些边距以防止 y 轴标签在设置为填充布局时显示在图表之外?我可以自动调整图表的大小以使 y 轴标签始终可见,即使它们包含超过 2-3 位数字?

/马库斯

4

3 回答 3

1

您不能自动执行此操作,但您可以调整这些值,直到它看起来不错。当您有多个数字值时,您还可以旋转标签。

于 2013-09-02T17:54:32.913 回答
1

这就是我用来处理可以具有不同位数的 Y 轴标签的方法。找到你的最大 Y 值,将其四舍五入为 int,转换为字符串,然后计算字符串的长度。字符串的长度可用于计算左边距的值。

//**** Find max y value of dataset
Ymax = getMaxValue(U_Limit);
if(Ymax < 10){
Ymax = 10;
}else{
Ymax = Ymax*1.1;
}

//****  Find int value of number of digits in max y value
int PLAY_FACTOR = text_label_size*.5  // you may have to play around with this value
int leftMargin = (Double.toString(Math.round(Ymax)).length())*PLAY_FACTOR;              
int margins[] = { 26, leftMargin, botMargin, 14 }; // Top,Left,Bottom,Right
renderer.setMargins(margins);
于 2013-11-04T14:14:11.153 回答
0

找到了一个更好的解决方案,如果您使用带有负值的 setYLabelsVerticalPadding ,您可以将标签向下移动一点......这样无论怎样,上面的 Y 标签都将可见。

希望能帮助到你。

于 2014-04-02T17:55:48.600 回答