【问题标题】:aChartEngine: underlying series not shown when using multiple colors to paint area below seriesaChartEngine:使用多种颜色绘制系列下方区域时未显示基础系列
【发布时间】:2014-01-27 16:03:23
【问题描述】:

我正在使用 aChartEngine 库创建一个包含多个系列的折线图。 我已经修改了 XYChartBuilder.java 中的代码以创建一个示例并测试我是否可以用特定颜色填充每个系列下的区域。尝试在每个系列下方的区域填充不同颜色时遇到问题。在序列重叠的区域,没有显示底层序列的线。

以下是我用来在图表上添加系列和数据的代码

    public void addSeries(int id) {

    String seriesTitle = "Series " + (mDataset.getSeriesCount() + 1);

    // create a new series of data
    XYSeries series = new XYSeries(seriesTitle);
    mDataset.addSeries(series);
    mCurrentSeries = series;

    // create a new renderer for the new series
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    mRenderer.addSeriesRenderer(renderer);

    // set some renderer properties
    renderer.setPointStyle(PointStyle.CIRCLE);
    renderer.setFillPoints(true);
    renderer.setDisplayChartValues(true);
    renderer.setDisplayChartValuesDistance(10);
    renderer.setLineWidth(2);

    if (id == 1) {

        FillOutsideLine fill = new FillOutsideLine(FillOutsideLine.Type.BELOW);
        fill.setColor(Color.BLUE);     
        renderer.addFillOutsideLine(fill);

        renderer.setColor(Color.BLUE);
        renderer.setPointStyle(PointStyle.SQUARE);

    }

    if (id == 2) {

        FillOutsideLine fill = new FillOutsideLine(FillOutsideLine.Type.BELOW);
        fill.setColor(Color.WHITE);
        renderer.addFillOutsideLine(fill);

        renderer.setPointStyle(PointStyle.CIRCLE);
        renderer.setColor(Color.GREEN);

    }


    if (id == 3) {

        FillOutsideLine fill = new FillOutsideLine(FillOutsideLine.Type.BELOW);
        fill.setColor(Color.YELLOW);
        renderer.addFillOutsideLine(fill);

        renderer.setPointStyle(PointStyle.CIRCLE);
        renderer.setColor(Color.YELLOW);

    }


    mCurrentRenderer = renderer;
    mChartView.repaint();

} 

    public void addData(double x, double y) {

    // add a new data point to the current series
    mCurrentSeries.add(x, y);

    // repaint the chart such as the newly added point to be visible
    mChartView.repaint();

}

当我需要创建我调用的系列时

    addSeries(1);
    addData(0, 0);
    addData(2, 3);
    addData(4, 0);

    addSeries(2);
    addData(2, 0);
    addData(6, 3);
    addData(8, 0);

    addSeries(3);
    addData(6, 0);
    addData(9, 3);
    addData(11, 0);

如果我在 addSeries 函数中指定 FillOutsideLine 对象但没有设置颜色,我会得到我想要的预期行为。但是,每个系列下的区域都是用相同的颜色绘制的(蓝色 - 它似乎是默认的)。

不幸的是,我是新人,我的声誉仍然很低,因此我无法上传任何图片。

非常感谢任何帮助。

谢谢,

卢佩。

【问题讨论】:

    标签: android achartengine


    【解决方案1】:

    我找到了我的问题的解决方案,所以我列出它以防其他人遇到同样的问题。当我使用纯色绘制系列下的区域时,出现了问题。我用半透明颜色测试了一下,现在问题解决了。

    例子:

        fill.setColor(Color.parseColor("#5500FF66"));
    

    L.

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多