Я использую androidplot 0.6 для рисования динамического сюжета. Он работает отлично, отображаются метки оси диапазона и сетка, и они автоматически адаптируются к значениям моего ряда данных (который содержит 300 образцов). Если все 300 выборок не имеют одинакового значения, метки оси домена исчезают, и сетка исчезает. Как я могу предотвратить это?
Androidplot, динамический график, не отображающий ось диапазона и сетку для постоянного ряда
Ответы (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().