Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android x轴中的日期重叠-绘图显示上次输入的数据2次(不使用setXAxisMax时)_Android_Achartengine - Fatal编程技术网

Android x轴中的日期重叠-绘图显示上次输入的数据2次(不使用setXAxisMax时)

Android x轴中的日期重叠-绘图显示上次输入的数据2次(不使用setXAxisMax时),android,achartengine,Android,Achartengine,(我修复了一些关于我以前帖子的保存和加载问题) 我正在将一些数据(mydata)和日期保存为字符串(dates\u字符串) 在图形活动中,我加载数据和日期。我将日期字符串转换为日期,以便在绘图中使用它们 现在,在2013年5月10日输入一些数据,例如“1”、“2”、“3”时,我得到了下图 直到现在一切都很好 如果我尝试在另一个日期(13/05/13)输入更多数据(“3,4,7”),我将得到此图像 日期是重叠的 主要活动: 守则: //copy the dates_asStri

(我修复了一些关于我以前帖子的保存和加载问题)

我正在将一些数据(mydata)和日期保存为字符串(dates\u字符串)

在图形活动中,我加载数据和日期。我将日期字符串转换为日期,以便在绘图中使用它们

现在,在2013年5月10日输入一些数据,例如“1”、“2”、“3”时,我得到了下图

直到现在一切都很好

如果我尝试在另一个日期(13/05/13)输入更多数据(“3,4,7”),我将得到此图像

日期是重叠的

主要活动:

守则:

        //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));

        }
//将字符串中的日期复制到date(日期),以便在时间序列中使用它们
SimpleDataFormat格式化程序=新的SimpleDataFormat(“dd/MM/yyyy”,Locale.US);
日期转换日期;
试一试{

对于(int k=0;k这看起来像是对
TimeSeries
的错误使用。您正在调用
series.add(i,something)
其中
something
mydata.get(i)
在代码中。这意味着方法
add(double x,double y)
调用从
XYSeries
继承的
TimeSeries
,因此在您的示例中,
x
的范围介于
0
mydata.size()-1
之间


只要确保在
TimeSeries

中正确调用
add(datex,double value)
方法:如果我使用series.add(dates.get(i),mydata.get(i))我得到的是空图。你的示例不完整,我猜不出mydata值是什么。只要你不提供我可以运行和测试的示例,我就帮不了你。如果我帮不了你,我怀疑其他人是否可以。只需设置一个带有硬编码值或其他内容的示例。注意:如果你需要完整的工作代码,我可以发送给你。它很小.上传到这里?我没有问题。mydata是一个双重列表。用户在edittext字段中输入数据。只需简化它。与其将我发送到一个我没有的文件,只需硬编码一些值。我上传了整个工作代码。我提醒您,用户可能在一天内或几天后输入数据,等等。我希望保留所有这些数据。Thanks!
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");
      }