Я использую MPcharts для создания круговой диаграммы.Диаграмма создана из данных, которые я получаю из веб-API.График выглядит хорошо, но легенда обрезается внизу.Эта диаграмма имеет две записи, но отображается только одна.Это должен быть один вертикальный столбец внизу графика.Просто чтобы попробовать это, я поставил это сверху и увидел обе записи.
Я пробовал перенос слов, добавление смещения (к легенде и диаграмме) и просто изменение размера диаграммы.Вот мой код:
val entries : MutableList<PieEntry> = ArrayList()
val mChart = com.github.mikephil.charting.charts.PieChart(context)
if(chart.data != null) {
for (i in chart.data!!.dataPoints) {
if (i.y != null)
entries.add(PieEntry(i.y!!, i.label))
}
mChart.centerText = chart.data!!.total.toString()
mChart.setCenterTextSize(52f)
val set = PieDataSet(entries, "")
set.resetColors()
set.label = null
set.colors = getColorSchemeArray(mTheme, context)
val data = PieData(set)
data.setDrawValues(false)
mChart.data = data
holder.mCardLayout.gravity = Gravity.CENTER_HORIZONTAL
set.sliceSpace = 3f
mChart.setDrawEntryLabels(false)
mChart.description.text = ""
mChart.setTransparentCircleAlpha(0)
holder.mCardLayout.addView(mChart)
/*val mChartSide = if(holder.mCardLayout.width *.65 < holder.mCardLayout.height *.375)
(holder.mCardLayout.width *.65).toInt()
else
(holder.mCardLayout.height *.375).toInt()*/
val mChartSide = (holder.mCardLayout.width *.65).toInt()
mChart.layoutParams.height = mChartSide
mChart.layoutParams.width = mChartSide
val mLegend = mChart.legend
mLegend.form = Legend.LegendForm.CIRCLE
mLegend.textSize = 20f
mLegend.orientation = Legend.LegendOrientation.VERTICAL
mLegend.isWordWrapEnabled = true
mLegend.maxSizePercent = 1f
mLegend.xEntrySpace = 15f
mLegend.yOffset = 5f
mLegend.horizontalAlignment = Legend.LegendHorizontalAlignment.CENTER
mLegend.verticalAlignment = Legend.LegendVerticalAlignment.BOTTOM
mChart.extraBottomOffset = 10f