Android 如何使用AChartEngine库重新绘制或刷新条形图

Android 如何使用AChartEngine库重新绘制或刷新条形图,android,bar-chart,achartengine,Android,Bar Chart,Achartengine,这是我的代码。我想刷新或重画条形图。但它会在图形中显示旧条形图和新条形图。我想在单击按钮时只显示图形中的新条形图 代码: if(潮汐数据.length()>0){ 对于(int i=0;i31){ hrTime=String.valueOf(Integer.parseInt(hrTime)+1); TimeOne=hr时间; }否则{ TimeOne=hr时间; } }否则{ //检查最小值31,以便为圆形图添加1小时 如果(ckmin>31){ hrTime=String.valueOf(In

这是我的代码。我想刷新或重画条形图。但它会在图形中显示旧条形图和新条形图。我想在单击按钮时只显示图形中的新条形图

代码:

if(潮汐数据.length()>0){
对于(int i=0;i31){
hrTime=String.valueOf(Integer.parseInt(hrTime)+1);
TimeOne=hr时间;
}否则{
TimeOne=hr时间;
}
}否则{
//检查最小值31,以便为圆形图添加1小时
如果(ckmin>31){
hrTime=String.valueOf(Integer.parseInt(hrTime)+1);
TimeOne=hr时间;
}否则{
TimeOne=hr时间;
}
}
}
if(潮汐类型等信号情况(高)){
if(TimeOne.equals(“0”)){
tideHeight\u mtZero=Double.parseDouble(tideHeight\u mtOne\u字符串);
Log.e(“12345----->”,“+TimeOne”);
}
if(TimeOne.equals(“1”)){
tideHeight\u mtOne=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
if(TimeOne.equals(“2”)){
tideHeight\u mtTwo=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“3”)){
tideHeight\u mtThree=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“4”)){
tideHeight\u mtFour=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“5”)){
tideHeight\u mtFive=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“6”)){
tideHeight\u mtSix=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“7”)){
tideHeight\u mtSeven=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“8”)){
tideHeight\u mtheight=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“9”)){
tideHeight\u mtNine=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“10”)){
tideHeight\u mtTen=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“11”)){
tideHeight\u mtEleven=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“12”)){
tideHeight\u mtTweelv=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“13”)){
tideHeight\u mtTherteen=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“14”)){
tideHeight\u mt14d=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“15”)){
tideHeight\u mtFiveteen=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“16”)){
tideHeight\u mtsixten=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“17”)){
tideHeight\u mtSeventeen=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“18”)){
tideHeight\u mt18g=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“19”)){
tideHeight\u mt十九=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“20”)){
tideHeight\u mtTweenty=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(时间1等于(“21”)){
tideHeight\u mtTweentyOne=Double.parseDouble(tideHeight\u mtOne\u字符串);
}
如果(TimeOne.equals)
    if (tides_data.length() > 0) {
        for (int i = 0; i < tides_data.length(); i++) {
            String tide_type = "";
            String tideTime = "";
            String TimeOne = "";
            String TimeAmPm = "";
            String hrTime = " ", mnTime = "";
            tideHeight_mtOne_string = "";
            try {
                tide_values = tides_data.getJSONObject(i);
                tide_type = tide_values.optString("tide_type");
                tideTime = tide_values.optString("tideTime");
                tideHeight_mtOne_string = tide_values.optString("tideHeight_mt");

                /*tideHeight_mtOne_string="5.58";
                tide_type="HIGH";
                tideTime="0:23 AM";*/
                String timeArray[] = tideTime.split(" ");
                TimeOne = timeArray[0];
                TimeAmPm = timeArray[1];
                //---if pm then add 12 h on currect time

                if (TimeOne.contains(":")) {
                    String timeHourMin[] = TimeOne.split(":");
                    hrTime = timeHourMin[0];
                    mnTime = timeHourMin[1];
                    int ckmin = Integer.parseInt(mnTime);

                    if (TimeAmPm.equalsIgnoreCase("PM")) {

                        hrTime = String.valueOf(Integer.parseInt(hrTime) + 12);
                        //check min 31 so add 1 with hour for round figher
                        if (ckmin > 31) {
                            hrTime = String.valueOf(Integer.parseInt(hrTime) + 1);
                            TimeOne = hrTime;
                        } else {
                            TimeOne = hrTime;
                        }

                    } else {

                        //check min 31 so add 1 with hour for round figher
                        if (ckmin > 31) {
                            hrTime = String.valueOf(Integer.parseInt(hrTime) + 1);
                            TimeOne = hrTime;
                        } else {
                            TimeOne = hrTime;
                        }

                    }

                }


                if (tide_type.equalsIgnoreCase(HIGH)) {
                    if (TimeOne.equals("0")) {
                        tideHeight_mtZero = Double.parseDouble(tideHeight_mtOne_string);
                        Log.e("12345------>", "" + TimeOne);
                    }
                    if (TimeOne.equals("1")) {
                        tideHeight_mtOne = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("2")) {
                        tideHeight_mtTwo = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("3")) {
                        tideHeight_mtThree = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("4")) {
                        tideHeight_mtFour = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("5")) {
                        tideHeight_mtFive = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("6")) {
                        tideHeight_mtSix = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("7")) {
                        tideHeight_mtSeven = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("8")) {
                        tideHeight_mtEight = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("9")) {
                        tideHeight_mtNine = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("10")) {
                        tideHeight_mtTen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("11")) {
                        tideHeight_mtEleven = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("12")) {
                        tideHeight_mtTweelv = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("13")) {
                        tideHeight_mtTherteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("14")) {
                        tideHeight_mtFourteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("15")) {
                        tideHeight_mtFiveteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("16")) {
                        tideHeight_mtSixteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("17")) {
                        tideHeight_mtSeventeen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("18")) {
                        tideHeight_mtEighteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("19")) {
                        tideHeight_mtnineteen = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("20")) {
                        tideHeight_mtTweenty = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("21")) {
                        tideHeight_mtTweentyOne = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("22")) {
                        tideHeight_mtTwentytwo = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("23")) {
                        tideHeight_mtTwentythree = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("24")) {
                        tideHeight_mtTwentyfour = Double.parseDouble(tideHeight_mtOne_string);
                    }
                    if (TimeOne.equals("25")) {
                        tideHeight_mtTwentyfour = Double.parseDouble(tideHeight_mtOne_string);
                    }

                } else {
                    //-----only for hightide section
                }

            } catch (Exception e) {

            }


        }
    }

    CategorySeries seriesHighTide = new CategorySeries("Bar1");
    CategorySeries mCurrentSeries = seriesHighTide;
    double[] y = {tideHeight_mtOne, tideHeight_mtTwo, tideHeight_mtThree, tideHeight_mtFour, tideHeight_mtFive, tideHeight_mtSix,
            tideHeight_mtSeven, tideHeight_mtEight, tideHeight_mtNine, tideHeight_mtTen, tideHeight_mtEleven, tideHeight_mtTweelv,
            tideHeight_mtTherteen, tideHeight_mtFourteen, tideHeight_mtFiveteen, tideHeight_mtSixteen, tideHeight_mtSeventeen,
            tideHeight_mtEighteen, tideHeight_mtnineteen, tideHeight_mtTweenty, tideHeight_mtTweentyOne, tideHeight_mtTwentytwo,
            tideHeight_mtTwentythree, tideHeight_mtTwentyfour, tideHeight_mtPm};

    for (int i = 0; i < x.length; i++) {
        //  Log.e("Test----"+i,"=="+y[i]);
        seriesHighTide.add(String.valueOf(i), y[i]);
    }
    dataSetHigh = new XYMultipleSeriesDataset();  // collection of series under one object.,there could any
    dataSetHigh.addSeries(seriesHighTide.toXYSeries());


    XYSeriesRenderer renderer = new XYSeriesRenderer();     // one renderer for one series
    renderer.setColor(Color.GRAY);
    renderer.setDisplayChartValues(true);
    renderer.setChartValuesTextSize(20);
    renderer.setChartValuesSpacing((float) 5.5d);
    renderer.setLineWidth((float) 10.5d);


    mRendererForHighTide = new XYMultipleSeriesRenderer();   // collection multiple values for one renderer or series
    mRendererForHighTide.addSeriesRenderer(renderer);

    mRendererForHighTide.setShowLegend(false);//Removing below space in graph
    mRendererForHighTide.setZoomEnabled(false, false);
    mRendererForHighTide.setPanEnabled(false);

    mRendererForHighTide.setShowGridX(true);      // this will show the grid in  graph
    mRendererForHighTide.setShowGridY(true);
    mRendererForHighTide.setAntialiasing(true);
    mRendererForHighTide.setBarSpacing(.2);   // adding spacing between the line or stacks
    mRendererForHighTide.setApplyBackgroundColor(true);
    mRendererForHighTide.setLabelsTextSize(10);
    mRendererForHighTide.setLegendTextSize(10);


    mRendererForHighTide.setApplyBackgroundColor(true);
    mRendererForHighTide.setBackgroundColor(Color.TRANSPARENT);
    mRendererForHighTide.setMarginsColor(getResources().getColor(R.color.transparent_background));
    mRendererForHighTide.setBarWidth(10);//set bar with and hight

    mRendererForHighTide.setXAxisMin(0);
    mRendererForHighTide.setYAxisMin(0);
    mRendererForHighTide.setXAxisMax(25);
    mRendererForHighTide.setYAxisMax(11);


    mRendererForHighTide.addYTextLabel(-1, "-1mt");
    mRendererForHighTide.addYTextLabel(-2, "-2mt");
    mRendererForHighTide.addYTextLabel(-3, "-3mt");
    mRendererForHighTide.addYTextLabel(-4, "-4mt");
    mRendererForHighTide.addYTextLabel(-5, "-5mt");
    mRendererForHighTide.addYTextLabel(-6, "-6mt");
    mRendererForHighTide.addYTextLabel(-7, "-7mt");
    mRendererForHighTide.addYTextLabel(-8, "-8mt");
    mRendererForHighTide.addYTextLabel(-9, "-9mt");
    mRendererForHighTide.addYTextLabel(-10, "-10mt");
    mRendererForHighTide.addYTextLabel(0, "0mt");
    mRendererForHighTide.addYTextLabel(1, "1mt");
    mRendererForHighTide.addYTextLabel(2, "2mt");
    mRendererForHighTide.addYTextLabel(3, "3mt");
    mRendererForHighTide.addYTextLabel(4, "4mt");
    mRendererForHighTide.addYTextLabel(5, "5mt");
    mRendererForHighTide.addYTextLabel(6, "6mt");
    mRendererForHighTide.addYTextLabel(7, "7mt");
    mRendererForHighTide.addYTextLabel(8, "8mt");
    mRendererForHighTide.addYTextLabel(9, "9mt");
    mRendererForHighTide.addYTextLabel(10, "10mt");
    mRendererForHighTide.setYLabelsPadding(15f);//spece between margin and yaxics line
    mRendererForHighTide.setYLabelsColor(0, Color.BLACK);
    mRendererForHighTide.setMargins(new int[]{30, 30, 30, 30});
    // mRenderer.setShowCustomTextGrid(true);

    mRendererForHighTide.setXLabels(0);
    /*mRenderer.addXTextLabel(-1, "AM");*/
    mRendererForHighTide.addXTextLabel(0, "AM");
    mRendererForHighTide.addXTextLabel(1, "");
    mRendererForHighTide.addXTextLabel(2, "2");
    mRendererForHighTide.addXTextLabel(3, "");
    mRendererForHighTide.addXTextLabel(4, "4");
    mRendererForHighTide.addXTextLabel(5, "");
    mRendererForHighTide.addXTextLabel(6, "6");
    mRendererForHighTide.addXTextLabel(7, "");
    mRendererForHighTide.addXTextLabel(8, "8");
    mRendererForHighTide.addXTextLabel(9, "");
    mRendererForHighTide.addXTextLabel(10, "10");
    mRendererForHighTide.addXTextLabel(11, "");
    mRendererForHighTide.addXTextLabel(12, "12");
    mRendererForHighTide.addXTextLabel(13, "");
    mRendererForHighTide.addXTextLabel(14, "2");
    mRendererForHighTide.addXTextLabel(15, "");
    mRendererForHighTide.addXTextLabel(16, "4");
    mRendererForHighTide.addXTextLabel(17, "");
    mRendererForHighTide.addXTextLabel(18, "6");
    mRendererForHighTide.addXTextLabel(19, "");
    mRendererForHighTide.addXTextLabel(20, "8");
    mRendererForHighTide.addXTextLabel(21, "");
    mRendererForHighTide.addXTextLabel(22, "10");
    mRendererForHighTide.addXTextLabel(23, "");
    mRendererForHighTide.addXTextLabel(24, "12");
    mRendererForHighTide.addXTextLabel(25, "PM");
    mRendererForHighTide.setXLabelsColor(Color.BLACK);



    chartHighTide.removeAllViews();


    chart3 = ChartFactory.getBarChartView(TideActivityDemo.this, dataSetHigh, mRendererForHighTide, BarChart.Type.DEFAULT);
    chartHighTide.addView(chart3);