⚡ Biblioteca de gráficos de barras de rango para Android usando MPAndroidChart⚡ No había gráficos en MPAndroidChart para mostrar rangos. Nos vimos obligados a mostrar los gráficos de rango que queríamos utilizando un gráfico de velas con capacidad similar. Esta biblioteca se puede utilizar cuando desee crear gráficos que puedan representar rangos como el clima y la frecuencia cardíaca. Configuración de demostración de etiqueta de dibujo mínima/máx. predeterminada Repositorios de Gradle { google() mavenCentral() maven { url ‘https://jitpack.io’ } // Para usar MPAndroidChart } dependencias { implementación ‘io.github.ParkSangGwon:range-bar- chart:xyz’ //implementation ‘io.github.ParkSangGwon:range-bar-chart:0.0.6’ } Si cree que esta biblioteca es útil, presione el botón de estrella en la parte superior. Cómo usar El uso de esta biblioteca es perfectamente consistente con el de MPAndroidChart Lea el documento oficial. Puede entender inmediatamente una explicación detallada mirando el código del proyecto de muestra. RangeBarEntry Configuración Gráfico diversión privada RangeBarChart.setup() { setScaleEnabled(false) setDrawGridBackground(false) setBackgroundColor(Color.TRANSPARENT) descripción.isEnabled = false xAxis.apply { posición = XAxis.XAxisPosition.BOTTOM setDrawGridLines(false) } axisLeft.apply { setDrawGridLines(false) axisMinimum = -20f axisMaximum = 40f } axisRight.isEnabled = false legend.isEnabled = false data = RangeBarData(createSet()) } Crear conjunto de datos RangeBarDataSet(null, «RangeBar»).apply { color = Color.parseColor( «#2BDD9E») barWidth = 0.4f isHighlightEnabled = true highLightColor = Color.CYAN minColor = Color.parseColor(«#22BCFE») maxColor = Color.parseColor(«#FC351E») setDrawValues(false) valueTextSize = 12f valueFormatter = object: ValueFormatter() { override fun getFormattedValue(value: Float): String = «${value.toInt()}°C» } } Agrega tus entradas privadas fun getWeatherEntries(): Lista {valores val = listamutableDe() valores.add(RangeBarEntry(1f, -7f, 1f)) valores.add(RangeBarEntry(2f, -4f, 4f)) valores.add(RangeBarEntry(3f, 2f, 11f)) valores.add(RangeBarEntry(4f) , 8f, 18f)) valores.add(RangeBarEntry(5f, 14f, 23f)) valores.add(RangeBarEntry(6f, 19f, 26f)) valores.add(RangeBarEntry(7f, 23f, 28f)) valores.add(RangeBarEntry (8f, 25f, 33f)) valores.add(RangeBarEntry(9f, 17f, 25f)) valores.add(RangeBarEntry(10f, 10f, 18f)) valores.add(RangeBarEntry(11f, 3f, 11f)) valores.add (RangeBarEntry(12f, -3f, 4f)) valores de retorno } diversión privada RangeBarChart.addData() { val datos = datos ?: devolver val rangeBarDataSet = data.getDataSetByIndex(0) ?: devolver valores val = getWeatherEntries() rangeBarDataSet.values = valores data.notifyDataChanged() notifyDataSetChanged() } Personalizar la variable RangeBarDataSet Descripción barWidth Ajustar el ancho del tablero minColor Min color int maxColor Max color int Preguntas frecuentes ¿Puedo usar la función/variable de BarChart? Sí, RangeBarChart es una clase implementada heredando de BarChart. Para que pueda utilizar todas las funciones que utiliza BarChart. ¿En qué se diferencia de los gráficos de velas japonesas? Los gráficos de velas deben especificar un punto inicial y final, así como un mínimo y un máximo. Se utiliza con el fin de utilizar gráficos de cotizaciones, no para mostrar solo el rango que queremos. RangeBarChart solo muestra los rangos mínimo y máximo. Licencia Copyright 2022 Ted Park Licenciado bajo la Licencia Apache, Versión 2.0 (la «Licencia»); no puede utilizar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en http://www.apache.org/licenses/LICENSE-2.0 A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia.«`

Source link