Как удалить x метки на круговой диаграмме и показать рядом с ней? - PullRequest
0 голосов
/ 29 июня 2018

Я хочу показать вот так Я работаю над круговой диаграммой, использую библиотеку MP Android 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);
}

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

попробуйте это решение, если вам нужны значения x за пределами

PieDataSet pieDataSet = new PieDataSet(yEntrys,"");
pieDataSet.setXValuePosition(PieDataSet.ValuePosition.OUTSIDE_SLICE);
PieData pieData = new PieData(pieDataSet);
pieChart.setData(pieData);
0 голосов
/ 29 июня 2018

попробуйте код ниже, я думаю, что это поможет показать ярлык рядом с диаграммой пирогов

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