【发布时间】:2013-09-02 14:22:38
【问题描述】:
我如何知道在 AChartEngine 图表中使用什么边距以防止 y 轴标签在设置为填充布局时显示在图表之外?我可以自动调整图表的大小以使 y 轴标签始终可见,即使它们包含超过 2-3 位数字?
/马库斯
【问题讨论】:
标签: android achartengine
我如何知道在 AChartEngine 图表中使用什么边距以防止 y 轴标签在设置为填充布局时显示在图表之外?我可以自动调整图表的大小以使 y 轴标签始终可见,即使它们包含超过 2-3 位数字?
/马库斯
【问题讨论】:
标签: android achartengine
您无法自动执行此操作,但您可以调整值直到看起来不错。当您有多个数字值时,您还可以旋转标签。
【讨论】:
这就是我用来处理可以具有不同位数的 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);
【讨论】:
找到了一个更好的解决方案,如果您使用 setYLabelsVerticalPadding 和负值,您可以将标签向下移动一点......这样无论怎样,上面的 Y 标签都将可见。
希望对你有帮助。
【讨论】: