MPAndroidChart - 如何仅在最后一个条目中绘制圆圈?
MPAndroidChart - how to draw a circle in the last entry only?
使用MPAndroidChart,有没有办法在折线图中只画一个圆圈?这意味着只有线的末端会被表示为一个圆圈,如下图所示:
@PhilJay
好吧,解决方法可能是您始终将最后一个条目放在单独的 DataSet
中,同时启用 setDrawCircles(...)
。因此,您将最后一个条目添加到单独的 DataSet
和您实际的 DataSet
。
一旦有 "new" 最后一个条目,清除 circle-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));
这适用于任何位置,以防您希望不同的点具有不同的可绘制对象
使用MPAndroidChart,有没有办法在折线图中只画一个圆圈?这意味着只有线的末端会被表示为一个圆圈,如下图所示:
@PhilJay
好吧,解决方法可能是您始终将最后一个条目放在单独的 DataSet
中,同时启用 setDrawCircles(...)
。因此,您将最后一个条目添加到单独的 DataSet
和您实际的 DataSet
。
一旦有 "new" 最后一个条目,清除 circle-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));
这适用于任何位置,以防您希望不同的点具有不同的可绘制对象