Androidplot, динамический график, не отображающий ось диапазона и сетку для постоянного ряда

Я использую androidplot 0.6 для рисования динамического сюжета. Он работает отлично, отображаются метки оси диапазона и сетка, и они автоматически адаптируются к значениям моего ряда данных (который содержит 300 образцов). Если все 300 выборок не имеют одинакового значения, метки оси домена исчезают, и сетка исчезает. Как я могу предотвратить это?


person user2375397    schedule 05.06.2014    source источник


Ответы (1)


Когда в диапазоне выборок нет разрешения, как в случае, когда все выборки имеют одинаковое значение, Androidplot не может узнать или угадать, каким должен быть разумный масштаб.

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

// clamp the range boundaries between -100 and 100
dynamicPlot.setRangeBoundaries(-100, 100, BoundaryMode.FIXED);  

Во-вторых, если вы все еще хотите использовать автоматическое кадрирование, это указать некоторые жесткие ограничения, за которыми Androidplot не будет автоматически увеличиваться/уменьшаться:

// upper boundary of the plot will always be 50 or higher
plot.setRangeTopMin(50);

// lower boundary of the plot will always be -50 or lower
plot.setRangeBottomMax(-50);

Вы также можете добавить логику в свой код, чтобы обнаружить случай, когда все 300 ваших точек идентичны, и динамически переключаться в режим FIXED, пока этот случай остается в силе. Просто убедитесь, что вы обнаруживаете этот случай и переключаете граничный режим ПЕРЕД вашим вызовом redraw().

person Nick    schedule 05.06.2014