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