2013-09-02 2 views
1

Как узнать, какие поля использовать в диаграмме AChartEngine, чтобы метки ярлыков y отображались вне диаграммы, когда она настроена на заполнение макета? Могу ли я автоматически изменить размер диаграммы так, чтобы метки оси Y всегда были видны, даже если они содержат более 2-3 цифр?Значки оси y acrartEngine вырезаны

/Markus

ответ

1

Вы не можете сделать это автоматически, но вы можете изменить значения, пока он не будет выглядеть хорошо. Вы также можете повернуть метки, когда у вас есть несколько цифр.

+0

Не могли бы вы рассказать мне, какие значения нужно подстроить ..? –

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); 
0

Найдено лучшее решение, если вы используете setYLabelsVerticalPadding с отрицательным значением вы можете переместить немного вниз этикетки ... таким образом, верхняя метка Y не будет видно ни на что.

Надеюсь, это поможет.

Смежные вопросы