Advertisement
Ansaid

MPandroidChart

Mar 21st, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.37 KB | None | 0 0
  1. MPandroidChart
  2.  
  3.     private void setInitialBarChart() {
  4.         barChart.setDrawBarShadow(false); //добавляет фон для колонок
  5.         barChart.setDrawValueAboveBar(true); // делает надписи над колонками
  6.         barChart.setMaxVisibleValueCount(250);
  7.         barChart.setPinchZoom(true); // добавляет зум
  8.         barChart.setDrawGridBackground(false); // Добавляет серый фон сетки
  9.         barChart.setScaleEnabled(true); // Убирает растягивания (можно отдельно по осям )
  10.         barChart.setTouchEnabled(true); //уберает возможность нажатий
  11.  
  12.         Description description = barChart.getDescription(); //подпись(описание)
  13.         description.setEnabled(false); //убирает подпись
  14.         //barChart.setBackgroundResource(R.drawable.white);
  15.  
  16.  
  17.         ArrayList<BarEntry> barEntries = new ArrayList<>();
  18.  
  19.         Random random = new Random();
  20.         for (int i = 0; i < 30; i++) {
  21.             barEntries.add(new BarEntry(i, random.nextInt(2000)));
  22.         }
  23. //        barEntries.add(new BarEntry(1, 20f));
  24. //        barEntries.add(new BarEntry(2, 35f));
  25. //        barEntries.add(new BarEntry(3, 30f));
  26. //        barEntries.add(new BarEntry(6, 40f));
  27.  
  28.         BarDataSet barDataSet = new BarDataSet(barEntries, "Количество выпитой воды в мл"); //название диараммы
  29. //        barDataSet.setColors(ColorTemplate.LIBERTY_COLORS); //установка цвета
  30.  
  31.         barDataSet.setColors(getResources().getColor(R.color.blueMiddle));
  32.         barDataSet.setHighLightColor(getResources().getColor(R.color.black));
  33.         barDataSet.setDrawValues(false);
  34.  
  35.         BarData data = new BarData(barDataSet);
  36.         data.setBarWidth(0.5f); //толщина колонки диаграммы
  37.         barChart.setData(data);
  38.  
  39.         String[] day = new String[] {"Понедельник", "Вторник",
  40.                 "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"};
  41.  
  42.         String[] day1 = new String[] {"Пн", "Вт",
  43.                 "Ср", "Чт", "Пт", "Сб", "Вс", "Пн"};
  44.         String[] month = new String[] {"1", "2",
  45.                 "3", "4", "5", "6", "7", "8", "9",
  46.                 "10", "11", "12", "13", "14", "15", "16",
  47.                 "17", "18", "19", "20", "21", "22" , "23",
  48.                 "24", "25", "26", "27", "28", "29", "30", "31"};
  49.  
  50.         XAxis xAxis = barChart.getXAxis();
  51.         xAxis.setValueFormatter(new MyXAxisValue(month));
  52.         xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
  53.         //xAxis.setLabelRotationAngle(45f); //угол
  54.         xAxis.setTextSize(12f);
  55.         //xAxis.setTextColor(getResources().getColor(R.color.colorPrimaryDark)) ;
  56.         xAxis.setDrawAxisLine(true);
  57.         xAxis.setDrawGridLines(false);
  58.         xAxis.setTypeface(Typeface.create("default", Typeface.BOLD));
  59.  
  60.         barChart.getAxisRight().setEnabled(false);
  61.         YAxis yAxis = barChart.getAxisLeft() ;
  62.         //yAxis.setTypeface(); // установить другой шрифт
  63.         yAxis.setTextSize ( 12f ) ; // установить размер текста
  64.         yAxis.setAxisMinimum(0f) ; // начинаем с нуля
  65.         //yAxis.setAxisMaximum ( 100f ) ; // максимальная ось равна 100
  66.         //yAxis.setTextColor ( Color.BLACK ) ;
  67.         yAxis.setTypeface(Typeface.create("default", Typeface.BOLD));
  68.         yAxis.setDrawGridLines(true);
  69.  
  70.         barChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
  71.             @Override
  72.             public void onValueSelected(Entry e, Highlight h) {
  73.                 Toast toast = Toast.makeText(getApplicationContext(),
  74.                         e.getY() + "\n" + e.getX(),
  75.                         Toast.LENGTH_SHORT);
  76.                 toast.show();
  77.             }
  78.  
  79.             @Override
  80.             public void onNothingSelected() {
  81.  
  82.             }
  83.         });
  84.  
  85.     }
  86.  
  87.  
  88.     public class MyXAxisValue extends ValueFormatter  {
  89.  
  90.         private  String[] dayValues;
  91.         public MyXAxisValue(String[] values) {
  92.             this.dayValues = values;
  93.         }
  94.  
  95.         @Override
  96.         public String getFormattedValue(float value) {
  97.             return dayValues[(int)value];
  98.         }
  99.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement