我正在使用mpandroidchart,我想只为LineDataSet中的一个条目绘制一个圆圈,而不是其余条目。我试图使用两个LineDataSets完成它,但到目前为止还没有工作。这是我的代码:
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。我希望它能合并两个DataSet,以便用圆圈标记最高值,并将其余部分绘制成折线图。
答案 0 :(得分:1)
你的方法总的来说看起来不错,只有一些缺陷。
不要创建“circularDataSet”并使用与“scoreDataSet”相同的值对其进行初始化,然后删除除一个之外的所有值。
你应该做的是在“scoreDataSet”中找到最大的条目,然后只将这个条目添加到“circularDataSet”。