Di seguito viene mostrato un esempio (sostanzialmente autoesplicativo nel codice) su come realizzare grafici ScatterPlot mediante la libreria AndroidPlot
activity_grafico.xml
-------------------------------------------------------------
<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" >
<com.androidplot.xy.XYPlot
android:id="@+id/Grafico"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
title="Well Test" />
</RelativeLayout>
-------------------------------------------------------------
Grafico.java
-------------------------------------------------------------
package com.luca.innocenti.well.test;
import java.util.Arrays;
import com.androidplot.series.XYSeries;
import com.androidplot.ui.AnchorPosition;
import com.androidplot.xy.LineAndPointFormatter;
import com.androidplot.xy.SimpleXYSeries;
import com.androidplot.xy.XLayoutStyle;
import com.androidplot.xy.XYPlot;
import com.androidplot.xy.YLayoutStyle;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
public class Grafico extends Activity {
private XYPlot Grafico;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_grafico);
//inizializza il grafino
Grafico = (XYPlot) findViewById(R.id.Grafico);
//definisce le coppie di valori X (portata) ed Y (soggiacenza)
Number[] portata = {0,1.0, 2, 3, 4, 5};
Number[] soggiacenza = {0, -2, -4, -6, -8, -12};
XYSeries dati = new SimpleXYSeries(Arrays.asList(portata), Arrays.asList(soggiacenza), "Dati");
// crea lo stile per i punti
LineAndPointFormatter series1Format = new LineAndPointFormatter(
Color.rgb(0, 200, 0), // line color
Color.rgb(0, 100, 0), // point color
null); // fill color (none)
// aggiunge i dati al grafico
Grafico.addSeries(dati, series1Format);
// AndroidPlot chiama Range l'asse X e Domain l'asse Y
// riduce il numero di ticks su entrambi gli assi
Grafico.setTicksPerRangeLabel(3);
Grafico.setTicksPerDomainLabel(3);
// mette il colore bianco in background
Grafico.getGraphWidget().getGridBackgroundPaint().setColor(Color.WHITE);
Grafico.getGraphWidget().setMarginTop(10);
// cancella la legenda dal grafico
Grafico.getLegendWidget().setVisible(false);
//scrive le label sugli assi
Grafico.setDomainLabel("Portata");
Grafico.getDomainLabelWidget().pack();
Grafico.setRangeLabel("Soggiacenza");
Grafico.getRangeLabelWidget().pack();
Grafico.disableAllMarkup();
Grafico.position(Grafico.getDomainLabelWidget(),0,XLayoutStyle.ABSOLUTE_FROM_CENTER,5, YLayoutStyle.ABSOLUTE_FROM_BOTTOM, AnchorPosition.CENTER);
//Grafico.setGridPadding(15, 0, 15, 0);
}
}
-------------------------------------------------------------
asd
Iscriviti a:
Commenti sul post (Atom)
Change Detection with structural similarity
L'idea di base e' quella di cercare le differenze tra le due immagini sottostanti Non e' immediatamente visibile ma ci sono dei ...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
Nessun commento:
Posta un commento