如何为图表中的一个(最大)值设置 DrawCircles()?

How to setDrawCircles() for only one (maximum) value in the chart?

我正在使用 mpandroidchart,我只想为 LineDataSet 中的一个条目画一个圆圈,而不是其余的。我曾尝试使用两个 LineDataSet 来完成它,但到目前为止还没有奏效。这是我的代码:

LineDataSet scoreDataSet = new LineDataSet(values, "Score");
scoreDataSet.setDrawCircles(false);

// Entry with max value is the last one
Entry circleEntry = scoreDataSet.getEntryForXIndex(scoreDataSet.getEntryCount()-1);

LineDataSet circularDataSet = new LineDataSet(values, "Score");
circularDataSet.setDrawCircles(true);
int size = circularDataSet.getEntryCount()-1;
for (int i=0; i<size; i++) {
    if (i != circleEntry.getXIndex()) {
            circularDataSet.removeEntry(circularDataSet.getEntryForXIndex(i));
    }
}
.
.
.
ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
dataSets.add(scoreDataSet);
dataSets.add(circularDataSet);

这只会打印一个点 (circularDataSet) 而不是 scoreDataSet。我期待它合并两个数据集,以便用圆圈标记最高值并将其余值绘制为折线图。

您的方法总体上看起来不错,只有一些缺陷。

不要创建 "circularDataSet" 并使用与 "scoreDataSet" 相同的值对其进行初始化,然后删除除一个之外的所有值。

您应该做的是 在您的 "scoreDataSet" 中找到最大的条目 ,然后只将这个条目添加到 "circularDataSet"。