AChartEngine中图表上的线下颜色区域

时间:2013-11-15 06:04:23

标签: android charts achartengine

我正在尝试在多系列渲染上填写我的线图下的区域。我所有的线条都显示数据很好,我只是没有得到如何从0到图形线填充空间。这是我的图表代码:

        TempSeries = new TimeSeries("Temperature");
        SnowDepthSeries = new TimeSeries("Snow Depth");
        SWESeries = new TimeSeries("Snow Water Equivalent");

        mDataset.addSeries(TempSeries);
        mDataset.addSeries(SnowDepthSeries);
        mDataset.addSeries(SWESeries);

        TempRenderer = new XYSeriesRenderer();
        SnowDepthRenderer = new XYSeriesRenderer();
        SWERenderer = new XYSeriesRenderer();

        SWERenderer.setColor(Color.rgb(0, 255, 255));
        SWERenderer.setLineWidth(5f);

        SnowDepthRenderer.setColor(Color.rgb(255, 255, 255));
        SnowDepthRenderer.setLineWidth(5f);

        TempRenderer.setColor(Color.rgb(255, 255, 0));
        TempRenderer.setLineWidth(5f);

        mRenderer.addSeriesRenderer(TempRenderer);
        mRenderer.addSeriesRenderer(SnowDepthRenderer);
        mRenderer.addSeriesRenderer(SWERenderer);

        mRenderer.setLegendHeight(100);
        mRenderer.setLegendTextSize(20);
        mRenderer.setLabelsTextSize(20);
        mRenderer.setChartTitle(chartTitle);
        mRenderer.setChartTitleTextSize(30);
        mRenderer.setXTitle("\n\n\n\n\n72 Hours");
        mRenderer.setAxisTitleTextSize(20);
        mRenderer.setApplyBackgroundColor(true);
        mRenderer.setBackgroundColor(Color.rgb(89, 71, 61));
        mRenderer.setMarginsColor(Color.rgb(89, 71, 61));

我试图在下面填写如下但没有成功(Coloring area under the curve in achartengine in android):

FillOutsideLine fill = FillOutsideLine.Type.BOUNDS_BELOW;
        fill.setColor(Color.GREEN);
        TempRenderer.addFillOutsideLine(fill);

我尝试施放也没效果:

FillOutsideLine fill = (XYSeriesRenderer) FillOutsideLine.Type.BOUNDS_BELOW;
        fill.setColor(Color.GREEN);
        TempRenderer.addFillOutsideLine(fill);

我想在我的每一行下方添加颜色。我在这张图上有3个系列。 How to Shade This Area? 使用:AChartEngine 1.1.0.jar,Android 4.3.x,Eclipse(Android Developer)

2 个答案:

答案 0 :(得分:0)

试试这个

fill = FillOutsideLine.Type.BELOW;
fill.setColor(Color.GREEN);
TempRenderer.addFillOutsideLine(fill);

答案 1 :(得分:0)

这对我有用:

XYSeriesRenderer.FillOutsideLine fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ALL);
fill.setColor(Color.GREEN);
TempRenderer.addFillOutsideLine(fill);