Achartengine комбинированный график

Обновить

November 2018

Просмотры

488 раз

2

Я хочу создать узлы и ребро, так что я использовал комбинированную схему с диаграммой рассеяния и линейным графиком. Но я не могу подключить один корневой узел к своему ребенку nodes..Instead он просто соединяет все дочерние узлы и только два дочерних узлов связаны с корнем ... Может ли тело сказать мне, где я неправильно ... Ниже код, который я использовал

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

AChartEngine для отображения графиков данных, а не для отображения графиков. Я предлагаю вам добавить свои значения в серии, с X в порядке возрастания, в противном случае вы получите непредсказуемое поведение.