Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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 堆栈条形图的图表值未正确显示_Android_Achartengine - Fatal编程技术网

Android 堆栈条形图的图表值未正确显示

Android 堆栈条形图的图表值未正确显示,android,achartengine,Android,Achartengine,我正在使用Achartengine库创建堆叠条形图。这些值显示不正确。我想在条形图的顶部显示{20,20,20}这样的图表值,并与中心对齐 这是我的密码 dataset.addSeries(JumlahSeries); dataset.addSeries(JumlahSeries1); dataset.addSeries(FirstSeries); final XYSeriesRenderer FirstRenderer = new XYSeriesRendere

我正在使用Achartengine库创建堆叠条形图。这些值显示不正确。我想在条形图的顶部显示{20,20,20}这样的图表值,并与中心对齐

这是我的密码

    dataset.addSeries(JumlahSeries);
    dataset.addSeries(JumlahSeries1);
    dataset.addSeries(FirstSeries);
    final XYSeriesRenderer FirstRenderer = new XYSeriesRenderer();
    Log.d("Error Here","29");
    FirstRenderer.setColor(Color.BLUE);
    FirstRenderer.setFillPoints(false);
    FirstRenderer.setLineWidth(5);  
    FirstRenderer.setChartValuesTextSize(15);
    FirstRenderer.setDisplayChartValues(false);

            // Creating XYSeriesRenderer to customize expenseSeries
    Log.d("Error Here","30");
    final XYSeriesRenderer SecondRenderer = new XYSeriesRenderer();
    SecondRenderer.setColor(Color.RED);
    SecondRenderer.setFillPoints(false);
    SecondRenderer.setLineWidth(5);
    SecondRenderer.setDisplayChartValues(false);
    SecondRenderer.setChartValuesTextSize(15);
    Log.d("Error Here","31");
    final XYSeriesRenderer ThirdRenderer = new XYSeriesRenderer();
    ThirdRenderer.setFillPoints(false);
    ThirdRenderer.setColor(Color.GREEN);
    ThirdRenderer.setLineWidth(5);
    ThirdRenderer.setDisplayChartValues(false);
    ThirdRenderer.setChartValuesTextSize(15);
    // Creating a XYMultipleSeriesRenderer to customize the whole chart
    final XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
    //zoomIn = new Zoom((GraphicalView) mChart, true, multiRenderer.getZoomRate());
    //multiRenderer.setChartTitle("\n"+"\n"+ title);
    multiRenderer.setChartTitleTextSize(20);
    //multiRenderer.setXTitle("\n"+"\n"+"\n"+"\n"+"\n"+"\n"+"\n"+"\n"+"Laporan Pada :"+ DateToDisplay);
    multiRenderer.setShowGridX(false);
    multiRenderer.setShowLegend(true);
    multiRenderer.setShowLabels(true);     
    multiRenderer.setAxisTitleTextSize(15);
    multiRenderer.setMargins(new int[] { 70,70,25,25});
    multiRenderer.setYTitle("Bilangan\n\n"+"\n"+"\n"+"\n");
    multiRenderer.setZoomButtonsVisible(true);
    multiRenderer.setBarSpacing(spacing);
    multiRenderer.setYAxisMax(max);
    multiRenderer.setYLabelsColor(0, Color.BLACK);
    multiRenderer.setXLabelsColor(Color.BLACK);
    multiRenderer.setXLabels(0);     
    multiRenderer.setPanEnabled(true, false);
    double Xmax = 2;
    if(StacktotalX.getTotal().size()<5){
        Log.d("Error Here","32");
        Xmax=StacktotalX.getTotal().size()*1.3;
    }
    multiRenderer.setXAxisMax(Xmax) ;
    multiRenderer.setXAxisMin(-1) ;
    multiRenderer.setLabelsTextSize(13);
    multiRenderer.setZoomEnabled(true,false);
    multiRenderer.setClickEnabled(true);
    for (int i = 0; i < StacktotalX.getTotal().size(); i++) 
    { 
        Log.d("Error Here","33");
        multiRenderer.addXTextLabel(i,StacktotalX.getTotal().get(i).toString());
        Log.d("texl",StacktotalX.getTotal().get(i).toString());
    }
    multiRenderer.addSeriesRenderer(ThirdRenderer);
    multiRenderer.addSeriesRenderer(SecondRenderer);
    multiRenderer.addSeriesRenderer(FirstRenderer);
    Log.d("Error Here","34");
    mChart = ChartFactory.getBarChartView(getBaseContext(), dataset, multiRenderer, Pattern);
    multiRenderer.setApplyBackgroundColor(true);
    multiRenderer.setBackgroundColor(Color.TRANSPARENT);
    multiRenderer.setMarginsColor(Color.TRANSPARENT);
    multiRenderer.setLabelsColor(Color.BLACK);
    mChart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();
            if (seriesSelection != null) {
                int seriesIndex = seriesSelection.getSeriesIndex();
                String selectedSeries="Bilangan";
                Log.d("seriesIndex",String.valueOf(seriesIndex));
                // String yobject = [(int)seriesSelection.getXValue()-1];
                // Getting the clicked Month
                //String month = x[(int)seriesSelection.getXValue()-1];
                // Getting the y value
                int amount = (int) seriesSelection.getValue();
                Log.d("amout",String.valueOf(amount));
                Toast.makeText(
                        getBaseContext(),
                        selectedSeries + " in " + " : " + amount ,
                        Toast.LENGTH_SHORT).show();
            }
        }
    });
    // Start Activity*/
    chartContainer.addView(mChart);
    new Thread(new Runnable() { 
        public void run() { 
            long time = 0;
            time = 9000/max;
            Log.d("Error Here","35");
            if(time>1.5){
                time = (long) 1.5;
            }if(time<0.5){
                time = (long) 0.5;
            }
            int animation = 1;
            Log.d("Error Here","36");
            while(true){
                boolean stop = true;
                for(int k=0; k< StacktotalX.getTotal().size();k++){ 
                    //                              for(int k=0;k<jum1.size();k++)
                    //                              {
                    //                                  JumlahSeries.add(k,jum1.get(tims));
                    //                                  tims++;
                    //                              }
                    if(animation<= jum3.get(k)){
                        Log.d("Error Here","37");
                        FirstSeries.add(k,animation);
                        stop=false;
                    }
                    if(animation<= jum.get(k)){
                        Log.d("Error Here","38");
                        JumlahSeries1.add(k,animation);
                        stop=false;
                    }
                    if(animation<= jum1.get(k)){
                        Log.d("Error Here","39");
                        JumlahSeries.add(k,animation);
                        stop=false;
                    }
                }
                try { 
                    Log.d("Error Here","40");
                    Thread.sleep(time); 
                    Log.d("Error Here","4");
                    mChart.repaint();
                }catch (InterruptedException e) { 
                    e.printStackTrace(); 
                } 
                animation++; 
                if(stop){
                    FirstSeries.clear();
                    JumlahSeries1.clear();
                    JumlahSeries.clear();
                    for(int y=0;y<StacktotalX.getTotal().size();y++)
                    {
                        FirstSeries.add(y,jum3.get(y));
                        JumlahSeries1.add(y, jum.get(y));
                        JumlahSeries.add(y, jum1.get(y));
                    }
                    FirstRenderer.setChartValuesSpacing(10);
                    FirstRenderer.setChartValuesTextAlign(Align.LEFT);
                    FirstRenderer.setDisplayChartValues(true);
                    FirstRenderer.getChartValuesTextAlign();
                    SecondRenderer.setChartValuesSpacing(10);
                    SecondRenderer.setChartValuesTextAlign(Align.CENTER);
                    SecondRenderer.setDisplayChartValues(true);
                    SecondRenderer.getChartValuesTextAlign();
                    ThirdRenderer.setChartValuesSpacing(10);
                    ThirdRenderer.setChartValuesTextAlign(Align.RIGHT);
                    ThirdRenderer.setDisplayChartValues(true);
                    ThirdRenderer.getChartValuesTextAlign();
                    mChart.repaint();
                    break;
                }
            }         
        }
    }).start();* 
dataset.addSeries(JumlahSeries);
dataset.addSeries(JumlahSeries1);
dataset.addSeries(FirstSeries);
最终XYSeriesRenderer FirstRenderer=新的XYSeriesRenderer();
Log.d(“此处错误”,“29”);
setColor(Color.BLUE);
FirstRenderer.setFillPoints(假);
设置线宽(5);
FirstRenderer.setChartValuesTextSize(15);
setDisplayChartValues(false);
//创建XYSeriesRenderer以自定义expenseSeries
Log.d(“此处错误”,“30”);
最终XYSeriesRenderer SecondRenderer=新的XYSeriesRenderer();
SecondRenderer.setColor(Color.RED);
SecondRenderer.设置填充点(false);
设置线宽(5);
SecondRenderer.setDisplayChartValues(false);
setChartValuesTextSize(15);
Log.d(“此处错误”,“31”);
最终XYSeriesRenderer ThirdRenderer=新XYSeriesRenderer();
第三个数据记录器设置填充点(假);
设置颜色(颜色为绿色);
第三步设置线宽(5);
ThirdRenderer.setDisplayChartValues(假);
第三个数据项setChartValuesTextSize(15);
//创建XYMultipleReseriesRenderer以自定义整个图表
最终XYmultiplesseriesrender multiRenderer=新的XYmultiplesseriesrender();
//zoomIn=新缩放((GraphicalView)mChart,true,multiRenderer.getZoomRate());
//multiRenderer.setChartTitle(“\n”+“\n”+标题);
多渲染器.setChartTitleTextSize(20);
//多重渲染器.setXTitle(“\n”+“\n”+“\n”+“\n”+“\n”+“\n”+“\n”+”Laporan Pada:“+DateToDisplay”);
multiRenderer.setShowGridX(false);
multiRenderer.setShowLegend(true);
multiRenderer.setShowLabels(true);
setAxistTitleTextSize(15);
setMargins(新的int[]{70,70,25,25});
setytle(“Bilangan\n\n“+”\n“+”\n“+”\n“+”\n”);
multiRenderer.setZoomButtonsVisible(true);
多重渲染器。设置间距(间距);
多渲染器.setYAxisMax(max);
多重渲染器。setYLabelsColor(0,颜色。黑色);
setXLabelsColor(Color.BLACK);
多渲染器.setXLabels(0);
multiRenderer.setPanEnabled(真、假);
双Xmax=2;
if(StacktotalX.getTotal().size()1.5){
时间=(长)1.5;
}如果(时间)