71

Is their any possibility to hide all rounded items from this picture.

enter image description here

I have used the following code,

public void setDataList(List<HorizontalBarChartData> dataList, Resources resources) {

    ArrayList<String> categories = new ArrayList<String>();
    ArrayList<BarEntry> values = new ArrayList<BarEntry>();
    ArrayList<BarDataSet> dataSets = new ArrayList<BarDataSet>();
    BarDataSet set1;
    for (int i = 0; i < dataList.size(); i++) {
        categories.add(dataList.get(i).getName());
        values.add(new BarEntry(dataList.get(i).getValue(), i));
    }

    /*set1 = new BarDataSet(values, "Income, Expense, Disposable Income");*/
    set1 = new BarDataSet(values, "Category 1, Category 2, Category 3");
    set1.setBarSpacePercent(35f);
    set1.setColors(new int[]{resources.getColor(R.color.cyan_blue), resources.getColor(R.color.vermilion_tint), resources.getColor(R.color.sea_green)});
    dataSets.add(set1);

    BarData data = new BarData(categories, dataSets);
    data.setValueTextSize(10f);

    horizontalBarChart.setData(data);
}

Update

How to hide rounded part from this image?

enter image description here

Philipp Jahoda
  • 50,880
  • 24
  • 180
  • 187
Gunaseelan
  • 14,415
  • 11
  • 80
  • 128

9 Answers9

205

Yes, is possible, just using following code:

mChart.setDescription("");    // Hide the description
mChart.getAxisLeft().setDrawLabels(false);
mChart.getAxisRight().setDrawLabels(false);
mChart.getXAxis().setDrawLabels(false);

mChart.getLegend().setEnabled(false);   // Hide the legend 
Philipp Jahoda
  • 50,880
  • 24
  • 180
  • 187
codezjx
  • 9,012
  • 5
  • 47
  • 57
7

As per this answer

mChart.getXAxis().setDrawLabels(false); will hide the entire X-Axis(as required for this question).

For positioning the X-Axis, following code works.

    XAxis xAxis = mChart.getXAxis();
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

Position can be set to

  • BOTTOM
  • BOTH_SIDED
  • BOTTOM_INSIDE
  • TOP
  • TOP_INSIDE

This helps if you are trying to hide only the particular side axis instead of hiding the entire axis.

Community
  • 1
  • 1
Prabs
  • 4,923
  • 6
  • 38
  • 59
7

It appears mChart.setDescription() no longer accepts a String.

The method now accepts an instance of the Description Class like this: mChart.setDescription(Description description)

So to modify or delete the Chart Description you may do it like below

Description description = new Description();
description.setText("");
mChart.setDescription(description);
Community
  • 1
  • 1
kite_n_code
  • 428
  • 5
  • 10
5

Following code work for all chart

Legend l = mchart.getLegend(); l.setEnabled(false);.

Anil
  • 1,087
  • 1
  • 11
  • 24
4

To hide description, use this

mChart.getDescription().setEnabled(false)
Jiyeh
  • 5,187
  • 2
  • 30
  • 31
1

Below code works for PieChart. Try to get same method for your Chart.

Legend l = mChart.getLegend();
l.setPosition(LegendPosition.NONE);
Pooja
  • 2,417
  • 20
  • 39
1
chart=(LineChart) findViewById(R.id.Chart);
chart.getLegend().setEnabled(false); // for hiding square on below graph
saigopi.me
  • 14,011
  • 2
  • 83
  • 54
1

Kotlin solution for MPAndroidChart:v3.1.0

chart.description.isEnabled = false // hide the description
chart.legend.isEnabled = false // hide the legend 

chart.xAxis.setDrawLabels(false) // hide bottom label
chart.axisLeft.setDrawLabels(false) // hide left label
chart.axisRight.setDrawLabels(false) // hide right label
Linh
  • 57,942
  • 23
  • 262
  • 279
0

I had the problem, that the bottom xAxis Labels are cutted off when I used mChart.getLegend().setEnabled(false)

Now I use chart.getLegend().setForm(Legend.LegendForm.NONE); instead and the labels are not cutted of anymore

Falke Design
  • 10,635
  • 3
  • 15
  • 30