Я использую MPAndroidChart для моего приложения, как это:Как установить метку х-оси с MPAndroidChart
, но я не могу добавить тег, как этот
Я использую MPAndroidChart для моего приложения, как это:Как установить метку х-оси с MPAndroidChart
, но я не могу добавить тег, как этот
Вы можете переопределить AxisValueFormatter
т.е.:
xAxis.setValueFormatter(new AxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return "YOUR_TEXT"; // here you can map your values or pass it as empty string
}
@Override
public int getDecimalDigits() {
return 0; //show only integer
}
});
Вы можете выбрать c введите значение группы для сопоставления имени группы, другие - пустые. это было бы самым простым способом.
благодарю вас за ответ. Но возвращаемое значение всегда равно 0,4,8,12,16,20, когда я использовал getFormattedValue (значение float, ось AxisBase), а мое центральное значение - 3,9,15,21 и i сделает неправильную позицию моего лейбла – kemp
Вам нужен ваш тег вместо этих значения?
Если это так, то здесь идет способ сделать это.
Добавьте XAxis
метки к ArrayList
final ArrayList<String> xLabel = new ArrayList<>();
xLabel.add("9");
xLabel.add("15");
xLabel.add("21");
xLabel.add("27");
xLabel.add("33");
// or use some other logic to save your data in list. For ex.
for(i=1; i<50; i+=2)
{
xLabel.add(""+3*i);
}
затем использовать эту метку в setValueFormatter
.
Ex:
XAxis xAxis = mChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setDrawGridLines(false);
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return xLabel.get((int)value);
}
});
Результат:
спасибо человеку, у меня тоже проблема, ваш ответ решил мою проблему. –
OK, мой плохой, спасибо симпатичной женщине ~ действительно. –
Работайте со мной, отлично! –
я найти другое решение этой проблемы. попытайтесь добавить эти параметры
float groupSpace = 0.06f;
float barSpace = 0.02f;
mChart.setData(data);
mChart.groupBars(0f, groupSpace, barSpace);
Как насчет того, чтобы показать, что у вас есть _tried_? – SOFe
Я не думаю, что вы можете «группировать» существующие метки осей. Однако я думаю, что API имеет метод изменения меток. См. Http://stackoverflow.com/questions/27061803/how-to-set-values-for-xlabels-and-ylabels-in-mpandroidchart –
Я показал ярлык, но положение метки неверно, потому что getFormattedValue всегда возвращать 0,4,8,12,16,20; – kemp