Achartengine组合图

时间:2013-01-21 11:45:20

标签: android achartengine

我想创建节点和边缘,所以我使用了散点图和折线图的组合图表。但我无法将一个根节点连接到其子节点。相反,它只是连接所有子节点,只有两个子节点连接到根...任何机构都可以告诉我哪里出错了...下面我用的代码

public GraphicalView combinedChart(){

       int[] x = {3};

       double[] values = {50};

       XYSeries series = new XYSeries("App");
       int length = x.length;

       for (int k = 0;k < length; k++)
       {
           series.add(x[k], values[k]); 
       }

       int[] x1 = {1,2,4,5};

       double[] values1 = {70,30,30,70};

       XYSeries series1 = new XYSeries("Info");
       int length1 = x1.length;

       for (int k = 0;k < length1; k++)
       {
           series1.add(x1[k], values1[k]); 
       }

       /*int[] x2 = {1,5};

       double[] values2 = {70,70};

       XYSeries series2 = new XYSeries("Dest");
       int length2 = x2.length;

       for (int k = 0;k < length2; k++)
       {
           series2.add(x2[k], values2[k]); 
       }*/


        int[] x3 = {3,1,3,2,3,4,3,5};
        int[] y3 = {50,70,50,30,50,30,50,70};

        TimeSeries series3 = new TimeSeries("Line1");

        for(int i=0; i<x3.length; i++){
            series3.add(x3[i], y3[i]);
        }

       XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
       dataset.addSeries(series);
       dataset.addSeries(series1);
       //dataset.addSeries(series2);
       dataset.addSeries(series3);

       XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
       XYSeriesRenderer renderer = new XYSeriesRenderer();
       XYSeriesRenderer renderer1 = new XYSeriesRenderer();
       //XYSeriesRenderer renderer2 = new XYSeriesRenderer();
       XYSeriesRenderer renderer3 = new XYSeriesRenderer();

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

       renderer1.setColor(Color.GREEN);
       renderer1.setPointStyle(PointStyle.CIRCLE);
       renderer1.setFillPoints(true);

       /*renderer2.setColor(Color.MAGENTA);
       renderer2.setPointStyle(PointStyle.CIRCLE);
       renderer2.setFillPoints(true);*/

       renderer3.setColor(Color.RED);

       mRenderer.addSeriesRenderer(renderer);
       mRenderer.addSeriesRenderer(renderer1);
       //mRenderer.addSeriesRenderer(renderer2);
       mRenderer.addSeriesRenderer(renderer3);
       mRenderer.setPointSize(10f);

       String[] types = new String[] { ScatterChart.TYPE,ScatterChart.TYPE,LineChart.TYPE};
       final GraphicalView lv = ChartFactory.getCombinedXYChartView(this, dataset, mRenderer, types);

      // final GraphicalView lv = ChartFactory.getScatterChartView(this, dataset, mRenderer);
       return lv;

   }

1 个答案:

答案 0 :(得分:0)

AChartEngine用于显示数据图表而不用于显示图表。我建议你把你的值添加到系列中,X按升序排列,否则你会得到不可预知的行为。