Search code examples
androidpie-chartmpandroidchart

piechart - how to remove x labels on piechart and show ite on beside of it?


I want show like thisI am working on pie chart i am using MP Android Chart library. now, problem is i don't want to show label names on pie chart and i want to show all label names beside pies chart.

           public  void  setPieChart()
{
    PieChart pieChart = (PieChart) findViewById(R.id.piechart);
    pieChart.setUsePercentValues(true);
    ArrayList<Entry> yvalues = new ArrayList<Entry>();
    yvalues.add(new Entry(8f, 0));
    yvalues.add(new Entry(15f, 1));
    yvalues.add(new Entry(12f, 2));
    yvalues.add(new Entry(25f, 3));
    yvalues.add(new Entry(23f, 4));
    yvalues.add(new Entry(17f, 5));

    PieDataSet dataSet = new PieDataSet(yvalues, "");
   // PieDataSet dataSet = new PieDataSet(yValues, "");
    for (Entry pieEntry : yvalues){
        if(pieEntry.getVal() < 10)
        {
            pieEntry.setXIndex(0);
        }
    }
    ArrayList<String> xVals = new ArrayList<String>();

    xVals.add("January");
    xVals.add("February");
    xVals.add("March");
    xVals.add("April");
    xVals.add("May");
    xVals.add("June");
    xVals.add("January");
    xVals.add("February");
    xVals.add("March");
    xVals.add("April");
    xVals.add("May");
    xVals.add("June");

    PieData data = new PieData(xVals, dataSet);
    data.setValueFormatter(new PercentFormatter());
    pieChart.setData(data);
}

Solution

  • try below code I think it will help to show lable beside pies chart

            Legend legend = pieChart.getLegend();
            legend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART_CENTER);
            legend.setXEntrySpace(7f);
            legend.setYEntrySpace(5f);
            legend.setYOffset(0f);