combinedchart不返回生成无浮点点精度图

2mbi3lxu  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(223)

上个月,我使用mpandroidchart,在androidstudio上通过web服务连接动态生成图形。
以前,我用bardata做这个,现在我用的是组合数据。。。
在上一个测试中,我创建了4个数组,其中包含每个图形参数(date,x,y,)的值,但我需要您的帮助来修复它。。
这是我用来创建bardata的方法,通过从数组返回来传递参数方法。

ArrayList<BarEntry> listaValoresAcima = new ArrayList<>();
        ArrayList<BarEntry> listaValoresAbaixo = new ArrayList<>();

        Float itemReal;
        Float itemMeta;

        if (String.valueOf(valoresReal.size()).equals(String.valueOf(valoresMeta.size()))) {//Compare two arrays to get item by the same for loop position 

            int index = 0; // (position for)

            for (int position = 0; position < valoresReal.size(); position++) {

                itemReal = valoresReal.get(position);
                itemMeta = valoresMeta.get(position);

                  float f = (float) 16.2f;
                         //In this situation, i go set the float value to generate the graph
          //     if (itemReal >= itemMeta) {
         //          listaValoresAcima.add(new BarEntry(index + 0.5f, itemReal));//the problem is here 
         //           listaValoresAbaixo.add(new BarEntry(index + 1.0f, 0));
         //            } else {
         //                               listaValoresAbaixo.add(new BarEntry(index + 1.0f, itemReal));
         //                               listaValoresAcima.add(new BarEntry(index + 0.5f, 0));
         //       }

                               listaValoresAbaixo.add(new BarEntry(index + 1.0f, itemReal));
                               listaValoresAcima.add(new BarEntry(index + 0.5f, itemReal));

                index = index + 1;
            }

        }

        //REAL
        BarDataSet barDataAcima = new BarDataSet(listaValoresAcima, "Acima");//Acima
        barDataAcima.setStackLabels(new String[]{"Stack 1"});
        //COLUNAS
        barDataAcima.setColor(Color.rgb(0, 0, 255));//Azul
        //TEXTO
        barDataAcima.setValueTextColor(Color.rgb(0, 0, 255));
        barDataAcima.setValueTextSize(10f);
        //barDataAcima.setAxisDependency(YAxis.AxisDependency.LEFT);

        //META
        BarDataSet barDataAbaixo = new BarDataSet(listaValoresAbaixo, "Abaixo");//Abaixo / Verm.
        barDataAbaixo.setStackLabels(new String[]{"Stack 1"});
        //COLUNAS
        barDataAbaixo.setColor(Color.rgb(255, 0, 0));//Vermelho
        //TEXTO
        barDataAbaixo.setValueTextColor(Color.rgb(255, 0, 0));//Vermelho
        barDataAbaixo.setValueTextSize(10f);
        barDataAbaixo.setAxisDependency(YAxis.AxisDependency.LEFT);

        float groupSpace = 0.06f;
        float barSpace = 0.02f; // x2 dataset
        float barWidth = 0.45f; // x2 dataset

        BarData d = new BarData();

        d.addDataSet(barDataAbaixo);
        d.addDataSet(barDataAcima);
        d.setBarWidth(barWidth);

        d.groupBars(0, groupSpace, barSpace); // start at x = 0

        return d;

    }

返回图形:
双值图
在第二种情况下,我看到不可能传递双值来生成图,我尝试了这个但是没有带点精度浮点值的图,比如“1.0”、“2.25”返回整数

private BarData generateBarData(ArrayList<String> valoresReal) {
        ArrayList<BarEntry> listaValoresMeta = new ArrayList<>();
        ArrayList<BarEntry> listaValoresReal = new ArrayList<>();

        for (int y = 0; y < count; y++) {
            // listaValoresMeta.add(new BarEntry(y + 0.5f, y + 10));

            String itemReal2 = (valoresReal.get(y));// = "12.0f"
            float f3 = Float.parseFloat(itemReal2);// = "12.0"

            if (y <= 5) {

结果是:
仅含int值的图
我不知道如何解决这个问题,我想得到浮点值和concat上的最终点的精度,但不工作太多。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题