2012-11-04 5 views
2

Здесь я пытаюсь показать таблицу с датами по оси х, где значения извлекаются из веб-сервера:Android Диаграмма с датами по оси х

// Our first data 

Date[] x = dates_array; // x values! 

double[] y = readings_array; // y values! 



       XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); // Holds a collection of XYSeriesRenderer and customizes the graph 
       XYSeriesRenderer renderer = new XYSeriesRenderer(); // This will be used to customize line 1 
       XYSeriesRenderer renderer2 = new XYSeriesRenderer(); // This will be used to customize line 2 
       mRenderer.addSeriesRenderer(renderer); 
       mRenderer.addSeriesRenderer(renderer2); 
       TimeSeries series = new TimeSeries("peak flow"); 
       for(int i = 0; i < x.length; i++) 
       { 
        series.add(x[i], y[i]); 
       } 

       // Our second data 
      int[] x2 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // x values! 




       int[] y2 = { 145, 123, 111, 100, 89, 77, 57, 45, 34, 30}; // y values! 
       TimeSeries series2 = new TimeSeries("Line2"); 
       for(int i = 0; i < x2.length; i++) 
       { 
        series2.add(x2[i], y2[i]); 

       } 

       XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
       dataset.addSeries(series); 
       dataset.addSeries(series2); 



       // Customization time for line 1! 
       renderer.setColor(Color.WHITE); 
       renderer.setPointStyle(PointStyle.SQUARE); 
       renderer.setFillPoints(true); 
       // Customization time for line 2! 
       renderer2.setColor(Color.YELLOW); 
       renderer2.setPointStyle(PointStyle.DIAMOND); 
       renderer2.setFillPoints(true); 



       Intent intent = ChartFactory.getTimeChartIntent(getApplicationContext(), dataset, 
        mRenderer, "DD MMM yyyy"); 
       startActivity(intent); 
      } 
     }); 

Он отлично работает с у- а на оси х показаны значения, не являющиеся моими значениями! Любая помощь, пожалуйста?

+0

Вы говорите, что данные серии неверен или х этикетки? – Simon

+0

данные серии были показаны как длинные числа не как формат даты, а когда я использовал getTimeChartIntent(), появились случайные даты! – NMJ

ответ

1

В TimeSeries вы должны использовать метод add(Date x, double y), а не add(double x, double y).

Если вы хотите, чтобы ось X лейблы точно даты ваших данных, то сделать это:

renderer.setXRoundedLabels(false); 
+0

Да, я уже сделал – NMJ

+0

См. Мой обновленный ответ. –

+0

renderer.setXRoundedLabels (false), он говорит, что он не существует во временном графике? Help help dan –

Смежные вопросы