2015-03-13 13 views
34

Czy istnieje możliwość ukrycia wszystkich zaokrąglonych przedmiotów z tego zdjęcia.Jak ukrywać legendy i oś w MPAndroidChart?

enter image description here

Użyłem poniższy kod,

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); 
} 

Aktualizacja

Jak ukryć zaokrągloną część z tego zdjęcia?

enter image description here

+0

Gdzie jest twoje 'kody MPAndroidChart' ? – Raptor

+0

@Raptor Mam zaktualizowany. – Gunaseelan

+0

Hej @Gunaseelan, możesz to sprawdzić http://stackoverflow.com/questions/38975333/mpandroidchart-horizontalbarchart-customize-label?noredirect=1#comment65304760_38975333 – Cloy

Odpowiedz

109

Tak, jest to możliwe tylko przy użyciu następującego kodu:

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

mChart.getLegend().setEnabled(false); // Hide the legend 
+0

Moja wersja MPAndroidChart to v2.0.7 – codezjx

+0

Istnieje możliwość ukrycia bro legendy kategorii 1, kategorii 2, kategorii 3. – Gunaseelan

+0

W moim projekcie używam mChart.getXAxis(). SetDrawLabels (false), aby go ukryć. Ale moja oś X jest pozostawiona, nie właściwa. – codezjx

1

poniższy kod działa dla PieChart. Spróbuj uzyskać tę samą metodę dla wykresu.

Legend l = mChart.getLegend(); 
l.setPosition(LegendPosition.NONE); 
+0

Niestety, ten nie zadziałał. – Gunaseelan

+0

@Gunaseelan Brak metody jako horizontalBarChart.getLegend() ?? – Pooja

+0

Nie, 'Legend.LegendPosition.NONE' nie jest dostępny. – Gunaseelan

1

następujące prace kodu dla wszystkich wykresie

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

2

Zgodnie this answer

mChart.getXAxis().setDrawLabels(false); ukryje całą oś X (zgodnie z wymogami dla tego pytania).

Do pozycjonowania osi X działa następujący kod.

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

Pozycja może być ustawiony na

  • DOLNYM
  • BOTH_SIDED
  • BOTTOM_INSIDE
  • TOP
  • TOP_INSIDE

To pomaga, jeśli próbują ukryć tylko konkretną oś boczną zamiast chować całą oś.

0
chart=(LineChart) findViewById(R.id.Chart); 
chart.getLegend().setEnabled(false); // for hiding square on below graph 
0

Wygląda na to, że mChart.SetDescription() nie przyjmuje już ciągów.

Sposób teraz akceptuje instancję opis klasy tak: mChart.setDescription(Description description)

więc zmodyfikować lub usunąć opis wykresu można to zrobić jak poniżej

Description description = new Description(); 
description.setText(""); 
mChart.setDescription(description); 
Powiązane problemy