Это то, что я имел дело с ярлыками оси 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);
Не могли бы вы рассказать мне, какие значения нужно подстроить ..? –