【问题标题】:Color area under line on graph in AChartEngineAChartEngine中图表上的线下颜色区域
【发布时间】:2016-03-09 14:09:52
【问题描述】:

我正在尝试在多系列渲染中填充线图下方的区域。我用数据显示的所有线条都很好,我只是不知道如何填充从 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 个系列。 使用:AChartEngine 1.1.0.jar、Android 4.3.x、Eclipse(Android 开发者)

【问题讨论】:

  • 开箱即用的 ACE 无法做到这一点。但是,您可以签出代码并添加您需要的功能。
  • 感谢@Dan 的回复。我会检查一下。也许我可以帮忙:)
  • 听起来不错的计划。
  • @Dan:这是在做什么:switch (fill.getType()) { case BOUNDS_ALL: referencePoint = yAxisValue;休息; case BOUNDS_BELOW:referencePoint = yAxisValue;休息;案例 BOUNDS_ABOVE:referencePoint = yAxisValue;休息;下面的案例:referencePoint = canvas.getHeight();休息;上例:referencePoint = 0;休息;默认值:
  • 可能是填充区域的顶点。

标签: android charts achartengine


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:

    这对我有用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 2011-11-26
      相关资源
      最近更新 更多