Search code examples
androidandroid-layoutandroid-studiobar-chartrating

How to implement horizontal rating bar chart in android studio?


how to get this type of graph?

I want to design and implement a horizontal rating bar chart in my app like the image below.
I followed several tutorials, but I'm not able to get a proper solution.
rate bar chart

Please suggest links or code.


Solution

  • this will work for you try this way

    http://www.truiton.com/2015/04/android-chart-example-mp-android-chart-library/

    public class MainActivity extends ActionBarActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            BarChart chart = (BarChart) findViewById(R.id.chart);
    
            BarData data = new BarData(getXAxisValues(), getDataSet());
            chart.setData(data);
            chart.setDescription("My Chart");
            chart.animateXY(2000, 2000);
            chart.invalidate();
        }
    
        private ArrayList<BarDataSet> getDataSet() {
            ArrayList<BarDataSet> dataSets = null;
    
            ArrayList<BarEntry> valueSet1 = new ArrayList<>();
            BarEntry v1e1 = new BarEntry(110.000f, 0); // Jan
            valueSet1.add(v1e1);
            BarEntry v1e2 = new BarEntry(40.000f, 1); // Feb
            valueSet1.add(v1e2);
            BarEntry v1e3 = new BarEntry(60.000f, 2); // Mar
            valueSet1.add(v1e3);
            BarEntry v1e4 = new BarEntry(30.000f, 3); // Apr
            valueSet1.add(v1e4);
            BarEntry v1e5 = new BarEntry(90.000f, 4); // May
            valueSet1.add(v1e5);
            BarEntry v1e6 = new BarEntry(100.000f, 5); // Jun
            valueSet1.add(v1e6);
    
            ArrayList<BarEntry> valueSet2 = new ArrayList<>();
            BarEntry v2e1 = new BarEntry(150.000f, 0); // Jan
            valueSet2.add(v2e1);
            BarEntry v2e2 = new BarEntry(90.000f, 1); // Feb
            valueSet2.add(v2e2);
            BarEntry v2e3 = new BarEntry(120.000f, 2); // Mar
            valueSet2.add(v2e3);
            BarEntry v2e4 = new BarEntry(60.000f, 3); // Apr
            valueSet2.add(v2e4);
            BarEntry v2e5 = new BarEntry(20.000f, 4); // May
            valueSet2.add(v2e5);
            BarEntry v2e6 = new BarEntry(80.000f, 5); // Jun
            valueSet2.add(v2e6);
    
            BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Brand 1");
            barDataSet1.setColor(Color.rgb(0, 155, 0));
            BarDataSet barDataSet2 = new BarDataSet(valueSet2, "Brand 2");
            barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS);
    
            dataSets = new ArrayList<>();
            dataSets.add(barDataSet1);
            dataSets.add(barDataSet2);
            return dataSets;
        }
    
        private ArrayList<String> getXAxisValues() {
            ArrayList<String> xAxis = new ArrayList<>();
            xAxis.add("JAN");
            xAxis.add("FEB");
            xAxis.add("MAR");
            xAxis.add("APR");
            xAxis.add("MAY");
            xAxis.add("JUN");
            return xAxis;
        }
    }