Как я могу исправить легенду? (MPAndroidChart)
5 ответов
Решение
Я смог получить желаемый результат, используя
legend.setPosition(Legend.LegendPosition.ABOVE_CHART_LEFT);
legend.setWordWrapEnabled(true);
legend.setMaxSizePercent(0.20f);
Этот метод устарел, лучше использовать его.
l.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);
l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);
l.setOrientation(Legend.LegendOrientation.HORIZONTAL);
l.setDrawInside(false);
для справки вы можете проверить здесь Легенда не может отображаться при вызове setPosition(LegendPosition.BELOW_CHART_CENTER)
Да, можно при изменении значения смещения:
pieChart.setExtraTopOffset(15);
pieChart.setExtraBottomOffset(15);
pieChart.setExtraLeftOffset(0);
pieChart.setExtraRightOffset(50);
Или с одной строчкой
setExtraOffsets(float left, float top, float right, float bottom)
результат:
Хороший пример с его параметрами и с некоторым описанием: https://www.programmersought.com/article/99524092993/
Используйте ниже строки:
legend.setPosition(Legend.LegendPosition.ABOVE_CHART_RIGHT);
Попробуйте Установить все данные в диаграмму после всех настроек, и все будет работать нормально.. вот так:
l.setCustom(arrayOf(firstLegend, secondLegend))
l.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM
l.horizontalAlignment = Legend.LegendHorizontalAlignment.LEFT
l.orientation = Legend.LegendOrientation.HORIZONTAL
l.setDrawInside(false)
а затем установите данные в диаграмму..
chart.data = data // set the data and list of labels into chart