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)
Dockerizza Flask
Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...
-
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...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
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...
Nessun commento:
Posta un commento