Используя MPAndroidChart, есть ли способ нарисовать только один круг на линейной диаграмме? Это означает, что только конец линии будет представлена в виде круга, как показано на этом изображении:
@ФилДжей
Используя MPAndroidChart, есть ли способ нарисовать только один круг на линейной диаграмме? Это означает, что только конец линии будет представлена в виде круга, как показано на этом изображении:
@ФилДжей
Что ж, обходным путем может быть то, что вы всегда помещаете последнюю запись в отдельный DataSet
, у которого включен setDrawCircles(...)
. Таким образом, вы добавляете последнюю запись в отдельный DataSet
, а также в фактический DataSet
.
Как только появится «новая» последняя запись, очистите набор данных круга и добавьте в него эту новую запись.
Псевдопример
public void add(Entry e) {
actualDataSet.addEntry(e);
circleDataSet.clear();
circleDataSet.addEntry(e);
chart.notifyDataSetChanged(); // let the chart know it's data changed
chart.invalidate(); // redraw
}
Я искал и немного боролся из-за этого, и, на мой взгляд, лучшим решением является использование setIcon
, который является довольно новым методом и не запутается, если у вас есть анимация. Вот пример:
dataSet.getEntryForIndex(position).setIcon(ContextCompat.getDrawable(this,R.drawable.myDrawable));
Это будет работать для любой позиции, если вы хотите иметь разные точки с разными рисунками.