如何知道在AChartEngine图表中使用哪些边距以防止y轴标签在设置为填充布局时显示在图表外部?我可以自动调整图表的大小,以便y轴标签始终可见,即使它们包含的数字超过2-3位吗?
/马库斯
答案 0 :(得分:1)
您无法自动执行此操作,但您可以调整值,直到它看起来不错。如果有多个数字值,也可以旋转标签。
答案 1 :(得分: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);
答案 2 :(得分:0)
找到一个更好的解决方案,如果你使用带有负值的setYLabelsVerticalPadding,你可以在标签上移动一点......这样无论什么都可以看到上面的Y标签。
希望它有所帮助。