Как реализовать горизонтальную прокрутку в диаграмме mpandroid - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь реализовать Multi Bar Graph для динамических наборов данных с помощью библиотеки MPAndroidCharts в моем приложении для Android.Как я смогу прокрутить график справа налево.Кроме того, мне трудно давать разные цвета каждой полосе группы.Вот мой код:

     BarDataSet[] mBardata;
    mBardata=new BarDataSet [jsonArray.length()];
     //get data from json response
                                for(int i=0;i<jsonArray.length();i++) {
                                    JSONObject obj = jsonArray.getJSONObject(i);

                 final AWWDepartmentStatsModel2 model = new AWWDepartmentStatsModel2(
                                            obj.getString("departmentId"),
                                            BigDecimal.valueOf(obj.getDouble("expenditure")).floatValue(),
                                            BigDecimal.valueOf(obj.getDouble("revenue")).floatValue(),
                                            BigDecimal.valueOf(obj.getDouble("profit")).floatValue(),
                                            BigDecimal.valueOf(obj.getDouble("loss")).floatValue(),
                                            obj.getString("month"),
                                            obj.getString("created_at"),
                                            obj.getString("updated_at")

                                    );
ArrayList<BarEntry> mbarEntry=new ArrayList<>();
                                mbarEntry.add(new BarEntry(0,model.getRevenue()));
                                mbarEntry.add(new BarEntry(1,model.getExpenditure()));
                                mbarEntry.add(new BarEntry(2,model.getProfit()));

                                mBardata[i]=new BarDataSet(mbarEntry,"");
                                mBardata[i].setColors(new int[]{R.color.top,R.color.textcolor_black,R.color.blue},YearlyStatsByDepartment.this);
                                mBardata[i].setDrawValues(true);
                                mBardata[i].notifyDataSetChanged();

                                }
private void setData(){
 BarData data=new BarData(mBardata);
        data.setBarWidth(0.3f);
        mBarChart.setData(data);
        mBarChart.getData().notifyDataChanged();
        mBarChart.notifyDataSetChanged();
        Legend l=mBarChart.getLegend();
        l.setEnabled(false);

        YAxis yAxisRight = mBarChart.getAxisRight();
        yAxisRight.setEnabled(false);


        mBarChart.groupBars(0,groupSpace,barSpace);
        mBarChart.invalidate();
}

My output.

...