даты на оси x наложены - график отображает последние введенные данные 2 раза (если не используется setXAxisMax)

(Я исправил некоторые проблемы с сохранением и загрузкой моих предыдущих сообщений)

Я сохраняю некоторые данные (mydata) и дату в виде строк (date_Strings).

В графике активности я загружаю данные и даты. И конвертирую date_Strings в даты, чтобы использовать их на графике.

Теперь, вводя некоторые данные, например, «1», «2», «3» в 10.05.13, я получаю следующее изображение.

Все хорошо до сих пор.

Если я попытаюсь ввести дополнительные данные («3,4,7») в другую дату (13/05/13), я получаю это изображение.

Даты накладываются.

Основная деятельность:

Код:

        //copy the dates_asString to date (Dates) in order to use them in TimeSeries
        SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy",Locale.US);
        Date convertedDate;
        try{
       for (int k=0;k<mydata.size();k++){
        convertedDate = formatter.parse(dates_Strings.get(k));
        date.clear();
        date.add(convertedDate);
        Log.d("line","convertedDate :"+convertedDate);
       }
        }catch ...


        //TimeSeries series = new TimeSeries("Showing data");
        //for (int i=0;i<mydata.size();i++){    
        //  series.add(i,mydata.get(i));    
        //}

        XYSeries series = new XYSeries("Showing data");
           for (int i=0;i<mydata.size();i++){   
        series.add(i,mydata.get(i));    
    }


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



        XYSeriesRenderer renderer =new XYSeriesRenderer();
        renderer.setColor(Color.YELLOW);
        ...

        XYMultipleSeriesRenderer mRenderer =new XYMultipleSeriesRenderer();
        mRenderer.addSeriesRenderer(renderer);
        ...
        mRenderer.setXRoundedLabels(false);
        mRenderer.setXLabels(0);


        //mRenderer.setXAxisMax(mydata.size()); 

        for (int i=0;i<mydata.size();i++){
            mRenderer.addXTextLabel(i,dates_Strings.get(i));

        }

Я поместил в setXAxisMax значение 14/05/2013, и я, например, ввел данные в 10/05 и 13/05.

Когда я использую setXAxisMin, график полностью пуст.

Другая странная проблема возникает, если я не использую setXAxisMax. Я ввожу «1» и «2» в качестве данных, но график показывает «2» (вторые данные) в двух точках. :

------------------ОБНОВИТЬ------------------------------- ---------

Хорошо, я думаю, что проблема заключается в сохранении данных в файле.

Пользователь вводит некоторые данные (mydata) в поле редактирования текста, а затем нажимает кнопку сохранения, которая сохраняет эти данные вместе с текущей датой.

Например, пользователь вводит «1» и нажимает «сохранить».

пользователь вводит «2» и нажимает «сохранить».

Итак, у меня есть данные «1» и «2» на одну и ту же дату (08/05/13).

Я хочу сохранить один экземпляр даты (потому что это одна и та же дата), чтобы иметь одну точку (дату) на оси x и 2 точки (1 и 2) на оси y.

Я сохраняю как:

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
              for (int i=0;i<mydata.size();i++){

           bw.write(mydata.get(i)+","+dates_Strings.get(i)+"\n");
              }

Я думал, что как:

      for (int i=1;i<mydata.size();i++){

          bw.write(mydata.get(i)+",");

    while (!(dates_Strings.get(i).equals(dates_Strings.get(i-1))))   

              bw.write(dates_Strings.get(i)+"\n");
      }

но сохраняет только последние введенные данные ..

Ответы на вопрос(1)

Ваш ответ на вопрос