当设置为填充布局时,如何知道在AChartEngine图表中使用哪些边距可以防止y轴标签显示在图表外部?我是否可以自动调整图表大小,使y轴标签始终可见,即使它们包含的位数超过2-3位?
/Markus
发布于 2013-09-03 01:54:33
您不能自动执行此操作,但您可以调整这些值,直到它看起来很好。当您有多个数字值时,也可以旋转标签。
发布于 2013-11-04 22:14:11
这是我用来处理可以有不同位数的Y轴标签的方法。找到最大Y值,将其四舍五入为整数,转换为字符串,然后计算字符串的长度。字符串的长度可用于计算左边距的值。
//**** 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);发布于 2014-04-03 01:55:49
找到了一个更好的解决方案,如果你使用带负值的setYLabelsVerticalPadding,你可以稍微向下移动一点……这样,无论发生什么情况,上面的Y标签都是可见的。
希望能有所帮助。
https://stackoverflow.com/questions/18575388
复制相似问题