绘制achartengine中的空Y轴点

时间:2014-05-02 12:20:16

标签: android plot null achartengine

我正在使用android achartengine库来绘制葡萄糖读数的图表。 Y轴有读数和X轴日期/时间。我需要为每天,早上,中午和晚上绘制3个读数。但是所有的病人都不会拿三个读数。他们也许有些日子不会读书。所以在那些相应的日子里,不应该显示数值。在搜索之后我发现了它的可能性

XYSeries(“餐前”)。add(value,MathHelper.NULL_VALUE)

尝试使用这样的虚拟数据。

public XYMultipleSeriesDataset getDemoDataset(){

        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

  XYSeries series = new XYSeries("Pre-meal ");

 series.add(1, MathHelper.NULL_VALUE);
             series2.add(2, MathHelper.NULL_VALUE);
          for (int j = 3; j < 10; j++) {


                        if((j%2)==0){
              series.add(j, j*5);
              series2.add(j, j*10);

                }
                else {
                     series.add(j, MathHelper.NULL_VALUE);
                     series2.add(j, MathHelper.NULL_VALUE);


                }
    j=j+1;
     series.add(j, 20);
      series2.add(j, 30);
        j=j+1;
      series.add(j, 60);
      series2.add(j, 130);



 dataset.addSeries(series);
           dataset.addSeries(series2);
  return dataset;

      }


}

private XYMultipleSeriesRenderer getDemoRenderer() {


       XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        renderer.setAxisTitleTextSize(16);
        renderer.setChartTitleTextSize(20);
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setPointSize(5f);
        renderer.setMargins(new int[] {20, 30, 15, 0});

        renderer.setYAxisMax(100);


        XYSeriesRenderer r = new XYSeriesRenderer();
        r.setColor(Color.YELLOW);
        r.setPointStyle(PointStyle.SQUARE);

        r.setFillBelowLineColor(Color.WHITE);
        r.setFillPoints(true);
        renderer.addSeriesRenderer(r);
        r = new XYSeriesRenderer();
        r.setPointStyle(PointStyle.CIRCLE);
        r.setColor(Color.GREEN);
        r.setFillPoints(true);
        renderer.addSeriesRenderer(r);
        renderer.setAxesColor(Color.DKGRAY);
        renderer.setLabelsColor(Color.LTGRAY);



        return renderer;
      }

我按如下方式调用chartEngine意图

intent = ChartFactory.getLineChartIntent(this, Postmeal.getDemoDataset(),getDemoRenderer());

      startActivity(intent);

但是图表绘制了一些不正确的值。

注意:当我使用series.add(1,0)时它工作正常;而不是series.add(1,MathHelper.NULL_VALUE); ! 还有类SensorValuesChart()在同一设备中绘制空值!

有人请帮助我!

0 个答案:

没有答案