Si está buscando mostrar una gran cantidad de datos y está buscando un diseño de interfaz de usuario diferente para la representación de este tipo de vistas. Luego puedes representar esta vista usando un gráfico de dispersión. Se utiliza un gráfico de dispersión para representar datos. Al usar este gráfico de dispersión, puede representar fácilmente los datos en forma dispersa. En este artículo veremos la implementación del Scatter Chart en Android.
¿Qué vamos a construir en este artículo?
Construiremos un gráfico simple en el que mostraremos un gráfico en el que mostraremos datos. qué
Atributos importantes del gráfico disperso
Atributo |
Usos |
---|---|
establecerDrawGridBackground | Este método se utiliza para establecer el fondo de la cuadrícula. |
setTouchEnabled | Este método se utiliza para habilitar gestos en nuestros gráficos. |
establecer MaxHighlightDistance | Establece la distancia máxima en la pantalla a la que se puede alejar un toque de una entrada para que se resalte. |
setDragEnabled | Este método se utiliza para habilitar y deshabilitar el arrastre. |
setScaleEnabled | Este método se utiliza para habilitar el escalado. |
establecerMaxVisibleValueCount | Establece el número máximo de valores dibujados visibles en el gráfico solo activo cuando setDrawValues() está habilitado |
establecerPellizcarZoom | Se utiliza para escalar tanto el eje x como el eje y con zoom. |
obtener leyenda | Este método se utiliza para obtener la leyenda del gráfico. |
getAxisLeft | Devuelve el objeto del eje y izquierdo. |
obtenerAxisRight | Devuelve el objeto del eje y derecho. |
establecerDrawGridLines | Este método se utiliza para dibujar líneas de cuadrícula. |
establecerScatterShape | Establece el ScatterShape con el que se debe dibujar este DataSet. Esto buscará un IShapeRenderer disponible y configurará este renderizador para el DataSet. |
establecer datos | Establece nuevos objetos de datos para nuestro gráfico. |
invalidar | Este método se utiliza para invalidar la vista si la vista está habilitada. |
Implementación paso a paso
Paso 1: crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: Agregar dependencia a build.gradle (Módulo: aplicación)
Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.
implementación ‘com.github.PhilJay:MPAndroidChart:v3.1.0’
Después de agregar esto, navegue hasta build.gradle (Proyecto) y agregue la siguiente línea dentro de la sección de repositorios.
todos los proyectos {
repositorios {
// agregar debajo de la línea en la sección de repositorios
experto {url ‘https://jitpack.io’}
Google()
jcenter()
}
}
Paso 3: trabajar con el archivo activity_main.xml
Vaya al archivo activity_main.xml y consulte el siguiente código. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <com.github.mikephil.charting.charts.ScatterChart android:id="@+id/chart1" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
Paso 4: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import com.github.mikephil.charting.charts.ScatterChart; import com.github.mikephil.charting.components.Legend; import com.github.mikephil.charting.components.XAxis; import com.github.mikephil.charting.components.YAxis; import com.github.mikephil.charting.data.Entry; import com.github.mikephil.charting.data.ScatterData; import com.github.mikephil.charting.data.ScatterDataSet; import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet; import com.github.mikephil.charting.utils.ColorTemplate; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { // creating a variable for scatter chart private ScatterChart chart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initializing our scatter chart. chart = findViewById(R.id.chart1); // below line is use to disable the description // of our scatter chart. chart.getDescription().setEnabled(false); // below line is use to draw grid background // and we are setting it to false. chart.setDrawGridBackground(false); // below line is use to set touch // enable for our chart. chart.setTouchEnabled(true); // below line is use to set maximum // highlight distance for our chart. chart.setMaxHighlightDistance(50f); // below line is use to set // dragging for our chart. chart.setDragEnabled(true); // below line is use to set scale // to our chart. chart.setScaleEnabled(true); // below line is use to set maximum // visible count to our chart. chart.setMaxVisibleValueCount(200); // below line is use to set // pinch zoom to our chart. chart.setPinchZoom(true); // below line we are getting // the legend of our chart. Legend l = chart.getLegend(); // after getting our chart // we are setting our chart for vertical and horizontal // alignment to top, right and vertical. l.setVerticalAlignment(Legend.LegendVerticalAlignment.TOP); l.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT); l.setOrientation(Legend.LegendOrientation.VERTICAL); // below line is use for // setting draw inside to false. l.setDrawInside(false); // below line is use to set // offset value for our legend. l.setXOffset(5f); // below line is use to get // y-axis of our chart. YAxis yl = chart.getAxisLeft(); // below line is use to set // minimum axis to our y axis. yl.setAxisMinimum(0f); // below line is use to get axis // right of our chart chart.getAxisRight().setEnabled(false); // below line is use to get // x axis of our chart. XAxis xl = chart.getXAxis(); // below line is use to enable // drawing of grid lines. xl.setDrawGridLines(false); // in below line we are creating an array list // for each entry of our chart. // we will be representing three values in our charts. // below is the line where we are creating three // lines for our chart. ArrayList<Entry> values1 = new ArrayList<>(); ArrayList<Entry> values2 = new ArrayList<>(); ArrayList<Entry> values3 = new ArrayList<>(); // on below line we are adding data to our charts. for (int i = 0; i < 11; i++) { values1.add(new Entry(i, (i * 2))); } // on below line we are adding // data to our value 2 for (int i = 11; i < 21; i++) { values2.add(new Entry(i, (i * 3))); } // on below line we are adding // data to our 3rd value. for (int i = 21; i < 31; i++) { values3.add(new Entry(i, (i * 4))); } // create a data set and give it a type ScatterDataSet set1 = new ScatterDataSet(values1, "Point 1"); // below line is use to set shape for our point on our graph. set1.setScatterShape(ScatterChart.ScatterShape.SQUARE); // below line is for setting color to our shape. set1.setColor(ColorTemplate.COLORFUL_COLORS[0]); // below line is use to create a new point for our scattered chart. ScatterDataSet set2 = new ScatterDataSet(values2, "Point 2"); // for this point we are setting our shape to circle set2.setScatterShape(ScatterChart.ScatterShape.CIRCLE); // below line is for setting color to our point in chart. set2.setScatterShapeHoleColor(ColorTemplate.COLORFUL_COLORS[3]); // below line is use to set hole // radius to our point in chart. set2.setScatterShapeHoleRadius(3f); // below line is use to set color to our set. set2.setColor(ColorTemplate.COLORFUL_COLORS[1]); // in below line we are creating a third data set for our chart. ScatterDataSet set3 = new ScatterDataSet(values3, "Point 3"); // inside this 3rd data set we are setting its color. set3.setColor(ColorTemplate.COLORFUL_COLORS[2]); // below line is use to set shape size // for our data set of the chart. set1.setScatterShapeSize(8f); set2.setScatterShapeSize(8f); set3.setScatterShapeSize(8f); // in below line we are creating a new array list for our data set. ArrayList<IScatterDataSet> dataSets = new ArrayList<>(); // in below line we are adding all // data sets to above array list. dataSets.add(set1); // add the data sets dataSets.add(set2); dataSets.add(set3); // create a data object with the data sets ScatterData data = new ScatterData(dataSets); // below line is use to set data to our chart chart.setData(data); // at last we are calling // invalidate method on our chart. chart.invalidate(); } }
Después de agregar el código anterior, ejecute su aplicación y vea el resultado de la aplicación.
Producción:
Publicación traducida automáticamente
Artículo escrito por chaitanyamunje y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA