Desidero creare un grafico a linee multiple in tempo reale utilizzando MPAndroidChart.Come creare un grafico a linee multiple in tempo reale?
Non è un problema creare un grafico in tempo reale utilizzando solo un dato. (codice seguente)
private void addEntry(int count) {
LineData data = mChart.getData();
if (data != null) {
LineDataSet set = data.getDataSetByIndex(0);
if (set == null) {
set = createSet();
data.addDataSet(set);
}
data.addXValue("");
data.addEntry(new Entry(getPressure(), set.getEntryCount()), 0);
data.setDrawValues(false);
data.setHighlightEnabled(false);
// let the chart know it's data has changed
mChart.notifyDataSetChanged();
// limit the number of visible entries
mChart.setVisibleXRange(0, count);
// move to the latest entry
mChart.moveViewToX(data.getXValCount() - (count + 1));
}
}
E, non è un problema creare più grafici a linee utilizzando il seguente codice.
private void setData(int count, float range) {
ArrayList<String> xValues = new ArrayList<String>();
for (int i = 0 ; i < count ; i++) {
xValues.add((1 + i) + "");
}
ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
for (int k = 0 ; k < 3 ; k++) {
ArrayList<Entry> yValues = new ArrayList<Entry>();
for (int i = 0 ; i < count ; i++) {
if (k == 0) {
yValues.add(new Entry(getSetPressure(), i));
}
else if (k == 1) {
yValues.add(new Entry(getCurrentPressure(), i));
}
else {
yValues.add(new Entry(getSuctionPressure(), i));
}
}
String s;
String c;
if (k == 0) {
s = "Set Pressure";
c = "#ed1f24";
}
else if (k == 1) {
s = "Current Pressure";
c = "#004bf6";
}
else {
s = "Suction Pressure";
c = "#ffba00";
}
LineDataSet set = new LineDataSet(yValues, s);
set.setAxisDependency(YAxis.AxisDependency.LEFT);
set.setDrawCubic(false);
set.setDrawCircles(false);
set.setCircleColor(Color.parseColor(c));
set.setCircleSize(8f);
set.setCircleColorHole(Color.BLACK);
set.setDrawCircleHole(false);
set.setLineWidth(3f);
set.setColor(Color.parseColor(c));
set.setDrawHorizontalHighlightIndicator(false);
set.setDrawVerticalHighlightIndicator(false);
dataSets.add(set);
}
LineData data = new LineData(xValues, dataSets);
data.setDrawValues(false);
data.setHighlightEnabled(false);
mChart.setData(data);
}
Tuttavia, non so come creare più grafici di grafico a linee in tempo reale.
Come posso creare più grafici a linee in tempo reale?
si può dare il codice di esempio o l'esempio – Narendra
@Narendra Nel primo codice del PO, c'è una linea data.addEntry (nuova entrata (getPressure(), set.getEntryCount()), 0); ----- Qui, fai 0 come 1 nell'ultimo argomento e crea un set di dati chiamato data1. E compila gli argomenti con i quali tracciare i dati. L'aggiunta del secondo grafico è simile al primo grafico. L'unica cosa è, rendi l'indice da 0 a 1. – zwarrior
@zwarrior yes make uniqueIndex per mantenere ogni riga del grafico. – Narendra