Статическая метка Android GraphView повторяется при настройке оси X вручную

#java #android #android-graphview

#java #Android #android-graphview

Вопрос:

Я строю значения по часам в своем приложении, а вместо горизонтальных меток по оси x отображаются как просто «0», «5», «10» ( для часа 0, часа 5, часа 10 и т.д.), Я хотел настроить метки в соответствии с фактическим временем суток (т.е. «12 утра» для «0», «5 утра» для «5», «10 утра» для «10»).

Без установленных статических меток горизонтальные метки отображаются следующим образом:

введите описание изображения здесь

С установленными статическими метками моя первая метка всегда повторяется. Проблема связана с моим объявлением оси x, установленной вручную (graph.getViewport().setMaxX(24)). Если я сделаю это число очень большим (т.Е. «500»), метка больше не повторяется. Но тогда мой график больше не будет пропорционален данным (поскольку мои данные соответствуют 24 часам в сутки). У кого-нибудь есть какие-либо мысли о борьбе с этим?

введите описание изображения здесь

Мой код выглядит следующим образом:

 GraphView graph = (GraphView) findViewById(R.id.graph);

graph.setTitle("RIS values by hour");

graph.getViewport().setYAxisBoundsManual(true);
graph.getViewport().setMinY(-50);
graph.getViewport().setMaxY(30);


graph.getViewport().setXAxisBoundsManual(true);
graph.getViewport().setMinX(0);
graph.getViewport().setMaxX(24);

StaticLabelsFormatter staticLabelsFormatter = new StaticLabelsFormatter(graph);
staticLabelsFormatter.setHorizontalLabels(new String[] {"12AM", "5AM", "10AM", "5PM", "10PM"});
                                               
graph.getGridLabelRenderer().setLabelFormatter(staticLabelsFormatter);