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

AchartEngine中addFillOutsideLine()填充溢出边界的Bug反馈

AchartEngine折线填充边界溢出Bug报告

问题现象

使用FillOutsideLine.Type.BOUNDS_BELOW填充类型时,当折线多次穿越y=0水平线,填充区域会溢出折线边界(见截图)。另外曲线底部也存在填充溢出,虽未影响当前业务但疑似同类Bug。
曲线填充溢出

复现代码片段

private void initChart() {
    mCurrentSeries = new XYSeries("Sample Data");
    mHorizon = new XYSeries("Horizon");
    mDataset.addSeries(mCurrentSeries);
    mDataset.addSeries(mHorizon);
    mCurrentRenderer = new XYSeriesRenderer();
    mCurrentRenderer.setPointStyle(PointStyle.CIRCLE);
    mCurrentRenderer.setFillPoints(true);
    mRenderer.addSeriesRenderer(mCurrentRenderer);
    mHorizonRenderer = new XYSeriesRenderer();
    mHorizonRenderer.setColor(Color.GRAY);
    mRenderer.addSeriesRenderer(mHorizonRenderer);
    XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW);
    int transparentRed = Color.argb(0.10F, 1.0F, 0.0F, 0.0F);
    fill.setColor(transparentRed);
    mCurrentRenderer.addFillOutsideLine(fill);
}

private void addSampleData() {
    mHorizon.add(1, 0);
    mHorizon.add(7, 0);
    mCurrentSeries.add(1, 2);
    mCurrentSeries.add(2, 3);
    mCurrentSeries.add(3, 2);
    mCurrentSeries.add(4, -5);
    mCurrentSeries.add(5, 4);
    mCurrentSeries.add(6, -3);
    mCurrentSeries.add(7, 5);
}

额外说明

  • 完整复现代码可参考原提问的Gist内容
  • 曾收到建议切换至BOUNDS_ALL填充类型,但业务仅需单一边界填充,无法采用该方案
  • 已自行修改AchartEngine副本的自定义边界逻辑,该修改未导致此Bug,当前问题使用官方最新版本复现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:17:18