2016-09-19 3 views
2

Последние два дня, я пытаюсь выполнить диаграмму, как показано ниже на изображении, используя MPAndroidChart. Я почти мог выполнить точно так же, но у меня есть несколько моментов, которые не знают, как это сделать. Как нижеКак добавить заголовок сверху и значение в нижней части экрана с помощью Barchart с помощью MPAndroidChart?

  1. В диаграмме, как показать название в верхней части графика i.e sun, mon ,. Я попытался, но он показывает вертикальную линию и поддерживает только значение float. Я пытаюсь использовать Barchart.

  2. Второй момент заключается в том, как показать значение в нижней части панели. Я пытаюсь использовать свойство, но он показывает значение над панелью или внутри панели, но не мог видеть, как установить позицию внизу, как вы видите на графическом изображении.

Спасибо, если бы кто-нибудь мог вести меня в этих двух точках.

enter image description here

+0

Вы пробовали делать это, чтобы установить значения ниже графика? xAxis.setPosition (XAxisPosition.BOTTOM) – pooja

+0

Я не хочу устанавливать значение xAxis (например, sun, mon и т. д.) внизу. Я знаю это свойство. На самом деле, я хочу показать значение столбца внизу панели, которое вы можете видеть в изображении. –

ответ

0

Вот что ответ точки первый, Как установить/показать пользовательский заголовок над гистограммой?

Для этого, мы можем использовать setValueFormatter (..) метод путем переопределения два метода GetFormattedValue и getDecimalDigits(). Внутри получить форматированное значение, мы возвращаем строку заголовка. Вместо десятичного значения. Becuase в моем случае должен показать строковое значение. Ниже приведен полный фрагмент кода.

private String[] weeksName = {"Wed", "Thu", "Fri", "Sat", "Sun", "Mon","Today"}; 

mDashBoardBinding.progressSection.barView.getXAxis().setValueFormatter(new AxisValueFormatter() { 
      @Override 
      public String getFormattedValue(float value, AxisBase axis) { 
       return weeksName[(int) value]; 
      } 

      @Override 
      public int getDecimalDigits() { 
       return 0; 
      } 
     }); 

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

Благодаря, Bhavdip

0

для отображения значений в нижней части панели, я сделал это:

XAxis х = chart.getXAxis(); xl.setPosition (XAxis.XAxisPosition.BOTTOM_INSIDE);

Скрыть значение (установить их в качестве "")

BarDataSet набора = новых BarDataSet (yVals, "Легенда");

set.setValueFormatter(new ValueFormatter() { 
     @Override 
     public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) { 
       return ""; 
     } 
    }); 

И фактически установите отформатированные значения на этикетках.

Надеется, что это помогает

See image here - Show values at the bottom

+0

Благодарим за ответ, попробуем после этого обновления. –

Смежные вопросы