гистограмма не отображается со значениями Dynami c X-оси и Y-оси в android с использованием MpAndroidChart - PullRequest
0 голосов
/ 16 апреля 2020

Привет в приведенном ниже коде. Я отображаю гистограмму с динамическими c метками оси x и y.Счет, который я рассчитываю по API. На основании подсчета хочу показать гистограмму.

Для отображения надписей по оси х я удаляю повторяющиеся строки и добавляю в список. Но пока я рассчитываю подсчет хочу взять полный список с дубликатами.

Может ли кто-нибудь помочь мне, где я сделал ошибку

    if (name.equals("outcome")) {
                                   outcome = String.valueOf(values);
                                   //  Log.d("status_list",status_list);
                                   if (!outcome_list.contains(outcome)) {
                                       outcome_list.add(outcome);
                                   }else {
                                       outcome_list.add(outcome);
                                   }
                                  // Log.d("outcome ", String.valueOf(outcome_list));

                                   Count_Followup = Collections.frequency(outcome_list, "Follow-up");
                                   //  System.out.println("Count of Followup is:  "+ Count_Followup);
                                   Count_OrderClosed = Collections.frequency(outcome_list, "Order Closed");
                                   //System.out.println("Count of OrderClosed is:  "+ Count_OrderClosed);

                                   Count_Interested = Collections.frequency(outcome_list, "Interested");
                                   System.out.println("Count of Interested is:  "+ Count_Interested);


                                   xAxis.setValueFormatter(new ValueFormatter() {
                                       @Override
                                       public String getFormattedValue(float value) {

                                           if (value < 0 || value > outcome_list.size() - 1) {
                                               return "";
                                           }
                                           String valueStr = String.valueOf(outcome_list);
                                           outList = valueStr.replace("[", "").replace("]", "").split(",");


                                           return outList[(int) value];
                                       }
                                   });



                                   xAxis.setGranularity(1);
                                   xAxis.setTextSize(10f);
                                   xAxis.setLabelRotationAngle(-90f);
                                   xAxis.setLabelCount(outcome_list.size());
                                   float barWidth = 0.9f;
                                   ArrayList<BarEntry> values = new ArrayList<>();


                                   for (int i = 0; i < outcome_list.size(); i++) {

                                       values.add(new BarEntry(0, Count_Followup));
                                      // values.add(new BarEntry(1, Count_OrderClosed));
                                   }

                                   BarDataSet set1;

                                       set1 = new BarDataSet(values, "Outcome");

                                       int endColor1 = ContextCompat.getColor(getContext(), R.color.linecolor);


                                       set1.setColors(endColor1);
                                       set1.setDrawIcons(false);

                                       dataSets = new ArrayList<>();
                                       dataSets.add(set1);
                                       MyDecimalValueFormatter formatter = new MyDecimalValueFormatter();
                                       BarData data = new BarData(dataSets);
                                       data.setValueTextSize(12f);
                                       data.setValueFormatter(formatter);
                                       data.setValueTypeface(tfLight);
                                       data.setBarWidth(barWidth);
                                       chart.setData(data);
                                       chart.invalidate();
   }
...