You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MPAndroid Line Chart已有圆点上添加空心圆环?

在MPAndroidChart折线图的圆点上添加空心圆环的解决方案

嘿,我来帮你搞定这个需求!首先得指出你代码里的一个小问题——你现在在循环里每次都创建新的LineDataSet并添加到testDataSet1,这会生成7个重叠的数据集,每个数据集对应一个点,这肯定不是你想要的效果。先把这个问题修正,再处理空心圆环的需求。

要在已有圆点上添加空心圆环,MPAndroidChart的LineDataSet其实已经提供了现成的API,你只需要配合使用以下两个属性:

  • setCircleStrokeWidth(float width):设置圆环的线条宽度
  • setCircleStrokeColor(int color):设置圆环的颜色

如果想让圆点变成纯空心圆环(中间透明,只有外圈),可以把实心圆的颜色设为透明;如果想在原有实心圆点外面套一个圆环,就保留实心圆的颜色,再添加圆环属性。

修改后的代码片段

先修正数据集的创建逻辑,再添加圆环设置:

List<String> xVals = new ArrayList<String>(stringDoubleHashMap.values());
List<ILineDataSet> testDataSet1 = new ArrayList<>();
List<Entry> entries = new ArrayList<>();
ArrayList<String> Labels = new ArrayList<>();
Labels.add("SUN");
Labels.add("MON");
Labels.add("TUE");
Labels.add("WED");
Labels.add("THU");
Labels.add("FRI");
Labels.add("SAT");

// 先循环添加所有Entry,不要每次都创建DataSet
for (int i = 0; i < xVals.size(); i++) {
    entries.add(new Entry(i, Float.parseFloat(xVals.get(i))));
}

// 只创建一个LineDataSet,避免多数据集重叠
LineDataSet dataSet = new LineDataSet(entries, "Weekly Data");
testDataSet1.add(dataSet);

// 折线基础样式设置
dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
dataSet.setColor(Color.RED);

// 实心圆点设置(如果要纯空心圆环,把这里改成Color.TRANSPARENT)
dataSet.setCircleColor(Color.WHITE);
// 添加空心圆环:设置圆环宽度和颜色
dataSet.setCircleStrokeWidth(2f); // 圆环宽度,可根据图表大小调整
dataSet.setCircleStrokeColor(Color.RED); // 圆环颜色,建议和折线同色保持风格统一

dataSet.setValueTextColor(Color.WHITE);

// 后续图表配置代码保持不变
activityStatementBinding.lineChart.getXAxis().setTextColor(Color.WHITE);
// ...(省略你原有其他配置代码)
activityStatementBinding.lineChart.setData(new LineData(testDataSet1));
activityStatementBinding.lineChart.notifyDataSetChanged();
activityStatementBinding.lineChart.invalidate();

效果说明

  • 保留dataSet.setCircleColor(Color.WHITE):会得到白色实心圆点外罩红色圆环的双层效果;
  • 改成dataSet.setCircleColor(Color.TRANSPARENT):会得到纯红色空心圆环的效果。

另外,setCircleStrokeWidth的单位是像素,你可以根据图表的实际显示大小调整数值,比如改成3f会让圆环更粗更显眼。

内容的提问来源于stack exchange,提问作者seon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:43:22