如何在mpandroid bar图中使用Kotlin使用数据类设置Xaxis和Yaxis

发布于 2025-02-03 07:44:43 字数 2294 浏览 5 评论 0原文

Halo我正在尝试使用mpandroid库来创建Barchart,但是当我从PHP发送JSON时,Icant如何使用它

echo json_encode($output);

,并且输出包含2个是Hari和

$rowdata[]=array('hari'=>$row['hari'],
     'total_jual'=>$row['total_jual']);

Attroid Studio中的total_jual的数据,我正在使用凌空抽射来捕获jason的数据,我使用凌空抽射

for(i in 0 until arr.length()){
                        val obj = arr.getJSONObject(i)
                        dataListPenjualan.add(
                            ClassPenjualan(
                                obj.getString("hari").toString(),
                                obj.getString("total_jual").toString()
                            )
                        )

                        val entries = ArrayList<BarEntry>()


                        val barDataSet = BarDataSet(entries, "Cells")

                        val labels = ArrayList<String>()
                        labels.add(dataListPenjualan[i].hari)
                        //barDataSet.setColors(ColorTemplate.COLORFUL_COLORS)
                        barDataSet.color = resources.getColor(R.color.black)

                        chartPemasukan.animateY(5000)


                    }

捕获了我使用Volley I的数据将其发送到课堂 这是我的班级

data class ClassPenjualan (val hari:String,
                       val totalPenjualan:String)

如何使用PHP捕获的数据来创建Barchart。我已经尝试搜索,但是许多解释在Java中。

这就是我尝试的

                        val entries = ArrayList<BarEntry>()

                        entries.add(BarEntry(dataListPenjualan[i].hari.toFloat(), i))


                        val barDataSet = BarDataSet(entries, "Cells")

                        val labels = ArrayList<String>()
                        labels.add(dataListPenjualan[i].hari)

                        val data = BarData(labels, barDataSet)
                        chartPemasukan.data = data // set the data and list of lables into chart

                        chartPemasukan.setDescription("Set Bar Chart Description")  // set the description

                        //barDataSet.setColors(ColorTemplate.COLORFUL_COLORS)
                        barDataSet.color = resources.getColor(R.color.black)

                        chartPemasukan.animateY(5000)

Halo i am trying to create barchart using MPAndroid Library but icant how to use it when i send json from php

echo json_encode($output);

and the output contain 2 data that is hari and total_jual

$rowdata[]=array('hari'=>$row['hari'],
     'total_jual'=>$row['total_jual']);

in android studio i am using volley to catch jason

for(i in 0 until arr.length()){
                        val obj = arr.getJSONObject(i)
                        dataListPenjualan.add(
                            ClassPenjualan(
                                obj.getString("hari").toString(),
                                obj.getString("total_jual").toString()
                            )
                        )

                        val entries = ArrayList<BarEntry>()


                        val barDataSet = BarDataSet(entries, "Cells")

                        val labels = ArrayList<String>()
                        labels.add(dataListPenjualan[i].hari)
                        //barDataSet.setColors(ColorTemplate.COLORFUL_COLORS)
                        barDataSet.color = resources.getColor(R.color.black)

                        chartPemasukan.animateY(5000)


                    }

the data i catch using volley i send it into class
this is my class

data class ClassPenjualan (val hari:String,
                       val totalPenjualan:String)

how can i create barchart using data i catch from php. I already try to search but many explanation is in java.

this is what i try

                        val entries = ArrayList<BarEntry>()

                        entries.add(BarEntry(dataListPenjualan[i].hari.toFloat(), i))


                        val barDataSet = BarDataSet(entries, "Cells")

                        val labels = ArrayList<String>()
                        labels.add(dataListPenjualan[i].hari)

                        val data = BarData(labels, barDataSet)
                        chartPemasukan.data = data // set the data and list of lables into chart

                        chartPemasukan.setDescription("Set Bar Chart Description")  // set the description

                        //barDataSet.setColors(ColorTemplate.COLORFUL_COLORS)
                        barDataSet.color = resources.getColor(R.color.black)

                        chartPemasukan.animateY(5000)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左岸枫 2025-02-10 07:44:43

您的代码entries.add(barentry(datalistpenjualan [i] .hari.tofloat(),i),i))是错误的。

只需尝试entries.add(barentry(i,datalistpenjualan [i] .hari.tofloat()))

以下代码是我的演示

val values = ArrayList<BarEntry>()

        var i = 0
        while (i < xValueCount) {
            val yValue = (Math.random() * (100)).toFloat()
            values.add(BarEntry(i.toFloat(), yValue))
            i++
        }

        val set1: BarDataSet
        if (chart.data != null &&
                chart.data.dataSetCount > 0) {
            set1 = chart.data.getDataSetByIndex(0) as BarDataSet
            set1.values = values
            chart.data.notifyDataChanged()
            chart.notifyDataSetChanged()
        } else {
            set1 = BarDataSet(values, "speed")
            //绘制图标
            set1.setDrawIcons(false)
            //绘制数值
            set1.setDrawValues(false)
            set1.color = ContextCompat.getColor(mContext, getBarHighColorByDataType(false))
            set1.highLightColor = ContextCompat.getColor(mContext, getBarHighColorByDataType(true))
            set1.highLightAlpha = 255

            val dataSets = ArrayList<IBarDataSet>()
            dataSets.add(set1)
            val data = BarData(dataSets)
            data.setValueTextSize(10f)
            //barWith = 柱宽度/(柱宽度+旁边一处空白宽度)
            data.barWidth = when (dataType) {
                0 -> 0.37f
                1 -> 0.52f
                2 -> 0.3f
                else -> 0.43f
            }
            chart.data = data
        }

Your code entries.add(BarEntry(dataListPenjualan[i].hari.toFloat(), i)) is wrong.

just try entries.add(BarEntry(i,dataListPenjualan[i].hari.toFloat()))

below code is my demo

val values = ArrayList<BarEntry>()

        var i = 0
        while (i < xValueCount) {
            val yValue = (Math.random() * (100)).toFloat()
            values.add(BarEntry(i.toFloat(), yValue))
            i++
        }

        val set1: BarDataSet
        if (chart.data != null &&
                chart.data.dataSetCount > 0) {
            set1 = chart.data.getDataSetByIndex(0) as BarDataSet
            set1.values = values
            chart.data.notifyDataChanged()
            chart.notifyDataSetChanged()
        } else {
            set1 = BarDataSet(values, "speed")
            //绘制图标
            set1.setDrawIcons(false)
            //绘制数值
            set1.setDrawValues(false)
            set1.color = ContextCompat.getColor(mContext, getBarHighColorByDataType(false))
            set1.highLightColor = ContextCompat.getColor(mContext, getBarHighColorByDataType(true))
            set1.highLightAlpha = 255

            val dataSets = ArrayList<IBarDataSet>()
            dataSets.add(set1)
            val data = BarData(dataSets)
            data.setValueTextSize(10f)
            //barWith = 柱宽度/(柱宽度+旁边一处空白宽度)
            data.barWidth = when (dataType) {
                0 -> 0.37f
                1 -> 0.52f
                2 -> 0.3f
                else -> 0.43f
            }
            chart.data = data
        }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文