MPAndroidChart, масштаб оси относительно максимальных реальных значений - PullRequest
1 голос
/ 06 января 2020

Я использую библиотеку диаграмм MPAndroidChart в Kotlin

Все работает правильно, `но у меня проблема с масштабами оси. На моем графике мои максимальные значения следующие:

X axis: 1947.7872f

Y axis: 861.5f

Но когда график составлен, ось X должна быть больше оси Y , но на моем графике это почти показывает то же самое. Мне нужно, чтобы оси имели шкалу, учитывающую действительные числовые значения обоих.

Мой код для построения графика следующий:

   private fun setupLineChartData() {
        val yVals = ArrayList<Entry>()
        yVals.add(Entry(0f, 241.5f, "0"))
        yVals.add(Entry(162.3156f, 323.9f, "1"))
        yVals.add(Entry(324.6312f, 529.6f, "2"))
        yVals.add(Entry(486.9468f, 738.2f, "3"))
        yVals.add(Entry(649.2624f, 839.6f, "4"))
        yVals.add(Entry(811.578f, 860.8f, "5"))
        yVals.add(Entry(973.8936f, 861.5f, "6"))
        yVals.add(Entry(1136.2092f, 860.8f, "7"))
        yVals.add(Entry(1298.5248f, 839.6f, "8"))
        yVals.add(Entry(1460.8404f, 738.2f, "9"))
        yVals.add(Entry(1623.156f, 529.6f, "10"))
        yVals.add(Entry(1785.4716f, 323.9f, "11"))
        yVals.add(Entry(1947.7872f, 241.5f, "12"))

        val set1: LineDataSet
        set1 = LineDataSet(yVals, "DataSet 1")
        set1.color = Color.BLUE
        set1.setCircleColor(Color.BLUE)
        set1.lineWidth = 1f
        set1.circleRadius = 3f
        set1.setDrawCircleHole(true)
        set1.valueTextSize = 0f
        set1.setDrawFilled(true)


        val dataSets = ArrayList<ILineDataSet>()
        dataSets.add(set1)
        val data = LineData(dataSets)

        // set data
        lineChart.data = data
        lineChart.description.isEnabled = false
        lineChart.legend.isEnabled = false
        lineChart.setPinchZoom(true)    
        lineChart.xAxis.setLabelCount(13, true)
        lineChart.xAxis.labelRotationAngle = -90f

        val minXRange = 0f
        val maxXRange = 1947.7872f
        lineChart.setVisibleXRange(minXRange, maxXRange)

        lineChart.xAxis.position = XAxis.XAxisPosition.BOTTOM

    }

Я пробовал с lineChart.setScaleMinima (1f, 1f), но это не не работает.

Для получения более подробной информации см. изображение:

For more details see image

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