Я пытался скрыть это с помощью set.setColor (Color.Transparent), когда мое значение отрицательное. Но это не работает.
Это мой код:
public void addEntry() {
LineData data = mChart.getData();
if (data != null ) {
ILineDataSet set = data.getDataSetByIndex(0);
if(getYValue() > 0) {
Log.d(TAG,"blue color");
set = createSet();
data.addDataSet(set);
data.addEntry(new Entry(xValue, getYValue()), 0); //Y value is random from -5 to 10
data.notifyDataChanged();
} else {
Log.d(TAG,"transparent");
set = createSetTransparent();
data.addDataSet(set);
data.addEntry(new Entry(xValue, getYValue()), 0);
}
xValue +=1;
data.notifyDataChanged();
mChart.notifyDataSetChanged();
mChart.setVisibleXRangeMaximum(1028);
mChart.moveViewToX(data.getEntryCount());
mChart.invalidate();
}
}
public LineDataSet createSetTransparent() {
LineDataSet set = new LineDataSet(null, null);
set.setLineWidth(3f);
set.setColor(Color.TRANSPARENT);
set.setHighlightEnabled(true);
set.setDrawValues(true);
set.setDrawCircles(false);
set.setValueTextColor(Color.WHITE);
return set;
}
public LineDataSet createSet() {
LineDataSet set = new LineDataSet(null, null);
set.setLineWidth(3f);
set.setColor(Color.parseColor("#2094A5"));
set.setHighlightEnabled(true);
set.setDrawValues(true);
set.setDrawCircles(false);
set.setValueTextColor(Color.WHITE);
return set;
}
Моя проблема заключается в следующем addDataSet () всегда получит мой первый набор . Например: моя линия всегда будет синей, даже если моя ценность отрицательная. И наоборот.
У кого-нибудь есть идеи по замене set на addDataSet ? Или не нарисованные линии при отрицательном значении