私はMPAndroidChartを使用してリアルタイムの複数の折れ線グラフを作りたいです。リアルタイムマルチライングラフの作成方法は?
1つのデータだけを使用してリアルタイムグラフを作成することは問題ありません。 (コードに従う)
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));
}
}
そして、次のコードを使って複数の折れ線グラフを作ることは問題ありません。
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);
}
しかし、複数のリアルタイム線グラフを作成する方法はわかりません。
複数のリアルタイムの折れ線グラフを作成するにはどうすればよいですか?
あなたはOPの最初のコードでは、サンプル・コードまたは例 – Narendra
@Narendraを与えることができ、ラインdata.addEntry(新しいエントリ(getPressureは()があり、 set.getEntryCount())、0);ここでは、最後の引数に0をとり、data1というデータセットを作ります。プロットするデータの引数を記入します。 2番目のグラフを追加することは1番目のグラフに似ています。唯一のことは、インデックスを0から1にします。 – zwarrior
@zwarrior yes各グラフ行を維持するためにuniqueIndexを作成します。 – Narendra