Android Mp Chart Как отображать метки по оси X на основе точек пересечения осей x и y на линейной диаграмме - PullRequest
0 голосов
/ 19 марта 2019

В моем Android-приложении я использую линейную диаграмму Android, оси x представлены метками, а оси y являются числами, которые мне нужны для выравнивания меток в соответствии с каждым разделом. Как мне этого добиться? Пожалуйста, проверьте это изображение

https://drive.google.com/open?id=1MRrGKZiYKPlj-f3LenCI6JwTNxVTCkEO

Метка должна быть выровнена как 1 -> Jhow, 2 -> nihl 3 -> biy, 4 -> hhiyr 5 -> Suwn, пожалуйста, посмотрите на мой код, метки динамичныиз данных JSON

 ArrayList<Entry> yValue = new ArrayList<>();
                for (int i = 0;i<usergraphXaxiesData.size();i++) {
                usergraphXaxiesData.get(usergraphXaxiesData.size()-1);

                    yValue.add(new Entry(usergraphXaxiesData.get(i), usergraphYaxiesData.get(i)));
                    //userChart.getXAxis().setGranularity(usergraphXaxiesData.get(i));
                }
                userSet = new LineDataSet(yValue, "");
                userSet.setColor(getActivity().getResources().getColor(R.color.fbutton_color_orange));
                userSet.setLineWidth(3);
                userSet.setDrawValues(false);
                userSet.setAxisDependency(YAxis.AxisDependency.LEFT);
                final ArrayList<ILineDataSet> dataSets = new ArrayList<>();
                dataSets.add(userSet);
                userData = new LineData(dataSets);
                userChart.setData(userData);
                userChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
                userChart.getXAxis().setLabelCount(xVals.size()+1);
                userChart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(xVals));
                final XAxis xAxis = userChart.getXAxis();

                xAxis.setDrawGridLines(false);
                xAxis.setAxisMaximum(xVals.size()+1);
                xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

                xAxis.setAvoidFirstLastClipping(true);
                userChart.getXAxis().setGranularityEnabled(true) ;
                xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
                xAxis.setDrawGridLines(false);
...