Метки оси X не отображаются в LineChart (MpAndroidChart) - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть простая линейная диаграмма, где значения X соответствуют месяцам года. Проблема в том, что он не показывает мне соответствующие ярлыки. Я использую IAxisFormatter для замены номеров месяца текстом (1 = январь, 2 = февраль и т. Д.)

This is how it looks now

Но я хочу, чтобы это выглядело

enter image description here

Я поставил код того, как я настроил линейную диаграмму (Kotlin)

    // GENERAL CONFIGURATION
    lineChartEvolucionFragment.setPinchZoom(false)
    lineChartEvolucionFragment.setTouchEnabled(false)
    lineChartEvolucionFragment.description = null
    lineChartEvolucionFragment.legend.isEnabled = false
    lineChartEvolucionFragment.axisRight.isEnabled = false
    lineChartEvolucionFragment.xAxis.position = XAxis.XAxisPosition.BOTTOM
    lineChartEvolucionFragment.xAxis.setDrawGridLines(false)
    lineChartEvolucionFragment.xAxis.valueFormatter = MonthFormatter()
    lineChartEvolucionFragment.isDragEnabled = true
    lineChartEvolucionFragment.axisLeft.setDrawGridLines(false)
    lineChartEvolucionFragment.xAxis.setCenterAxisLabels(true)
    lineChartEvolucionFragment.xAxis.labelRotationAngle = 315f
    lineChartEvolucionFragment.xAxis.setDrawLabels(true)

    // DATASET
    val entries = mutableListOf<Entry>()

        for (historia in getHistoryDummy()) {
            val month = Funciones.formatTimestamp("MM",  historia.fechaEnviado).toIntOrNull()
                    ?: continue
            entries.add(Entry(month.toFloat(), getDatoByType(historia)))

            Log.d(TAG, "Mes: ${month.toFloat()}")
        }

        val dataset = LineDataSet(entries, "Evolución")
        dataset.lineWidth = 2f
        dataset.color = ContextCompat.getColor(context!!, R.color.colorAccent)
        dataset.setCircleColor(ContextCompat.getColor(context!!, R.color.colorPrimaryDark))
        val lineData = LineData(dataset)
        lineData.setValueFormatter(ValueFormatter())
        lineData.setValueTextSize(12f)
        lineChartEvolucionFragment.data = lineData

        lineChartEvolucionFragment.axisLeft.addLimitLine(getLimitByType())
        lineChartEvolucionFragment.setVisibleXRange(1f, 5f)

        lineChartEvolucionFragment.animateX(500, Easing.EasingOption.EaseInSine)

    //FORMATTER

    class MonthFormatter : IAxisValueFormatter {

    override fun getFormattedValue(value: Float, axis: AxisBase?): String =       when  (value) {
    1f -> "Jan"
    2f -> "Feb"
    3f -> "Mar"
    4f -> "Apr"
    5f -> "May"
    6f -> "Jun"
    7f -> "Jul"
    8f -> "Aug"
    9f -> "Sept"
    10f -> "Oct"
    11f -> "Nov"
    12f -> "Dec"
    else -> ""
       }

    }

Я использую версию 3.0.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...