I am trying to make an app that retrieves real-time data from Firebase and makes with it a line chart. The code below works partially as the generated plot contains only the point but no line is drawn between them, as shown. line chart appears as a point chart.
Any ideas? Thank You!
protected void onCreate(Bundle savedInstanceState) {
.........
myRef_1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String value = snapshot.getValue(String.class);
textView.setText(value);
ArrayList<String> value_string = new ArrayList<String>();
value_string.add(value);
GraphView graph = findViewById(R.id.graph);
LineGraphSeries<DataPoint> series = new LineGraphSeries<>();
DataPoint point = new DataPoint(2*Double.parseDouble(value_string.get(0)), Double.parseDouble(value_string.get(0)));
series.appendData(point, true, 10);
graph.addSeries(series);
graph.getViewport().setScalable(true); // enables horizontal zooming and scrolling
graph.getViewport().setScalableY(true); //
graph.getViewport().setYAxisBoundsManual(true); // Prevents auto-rescaling the Y-axis
graph.getViewport().setXAxisBoundsManual(true);
series.setThickness(8);
Viewport viewport = graph.getViewport();
viewport.setYAxisBoundsManual(true);
viewport.setMinY(0);
viewport.setMinX(0);
viewport.setScrollable(true);
viewport.setScalable(true);
series.setDrawBackground(true);
series.setColor(Color.rgb(117,53,173));
series.setDataPointsRadius(5);
series.setAnimated(false);
series.setDrawDataPoints(true);
series.setDrawAsPath(true);
GridLabelRenderer gridLabel = graph.getGridLabelRenderer();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(MainActivity.this, "Nu s-a reusit extragerea datelor din baza de date", Toast.LENGTH_SHORT).show();
}
});
.......... }
I suggest you to add a custom line path like this one:
You can also define a different type of the line itself: