Я использую Graphview с DataPoint [] из базы данных. DataPoint [] имеет следующие точки данных:
- [1.582381477E12 / 0.0] (дата 2020-02-22 14:24:37),
- [1.58238148E12 / 1.0 ] (дата 2020-02-22 14:24:40),
- [1.582381489E12 / 2.0] (дата 2020-02-22 14:24:49),
- [ 1.582381491E12 / 3.0] (дата 2020-02-22 14:24:51),
- [1.582381497E12 / 4.0] (дата 2020-02-22 14:24:57),
- [1.582381511E12 / 5.0] (дата 2020-02-22 14:25:11)
Я использую этот код для моего GraphView:
DataPoint[] dataPoints = getSucccessData(exercise.getExersiseNumber());
LineGraphSeries<DataPoint> mLGS = new LineGraphSeries<>(dataPoints);
mLGS.setDrawDataPoints(true);
graphView = findViewById(R.id.gvGraphView);
simpleDateFormat = new SimpleDateFormat("dd-M-yyyy hh:mm:ss");
graphView.getGridLabelRenderer().setLabelFormatter(new DefaultLabelFormatter(){
@Override
public String formatLabel(double value, boolean isValueX) {
if(isValueX){
return simpleDateFormat.format(new Date((long)value));
}
else {
return super.formatLabel(value, isValueX);
}
}
});
graphView.removeAllSeries();
graphView.addSeries(mLGS);
graphView.getViewport().setMinY(0);
graphView.getViewport().setMaxY(5);
graphView.getViewport().setYAxisBoundsManual(true);
graphView.getViewport().setMinX(dataPoints[0].getX());
graphView.getViewport().setMaxX(dataPoints[dataPoints.length - 1].getX());
graphView.getGridLabelRenderer().setNumHorizontalLabels(dataPoints.length -1);
graphView.getViewport().setXAxisBoundsManual(true);
graphView.getGridLabelRenderer().setHumanRounding(false, true);
graphView.getGridLabelRenderer().setHorizontalLabelsAngle(90);
graphView.getViewport().setScrollableY(true);
graphView.getViewport().setScrollableY(true);
graphView.getViewport().setScalable(true);
graphView.getViewport().scrollToEnd();
graphView.getViewport().setScrollable(true);
Результат этого графика:
Как вы можете видеть, лаборатории Xaxis не являются первыми и последними, а не значениями x мои точки данных, и они не связаны напрямую с указанным c точкой данных. Это значения дат в диапазоне между первым и последним значением x моих точек данных, и расстояние между ними не одинаково. Чем больше времени находится между значениями x, тем больше расстояние между точками данных.
Я хочу иметь точное значение x моих точек данных в виде метки Xaxis, никаких других меток Xaxis и расстояние между точками данных всегда должно быть одинаковым, независимо от того, сколько времени проходит между датами.
Как я могу это сделать?