Graphs for Android: Rozdiel medzi revíziami
Riadok 30: | Riadok 30: | ||
Každý graf obsahuje nadpis, osi x a y, ktorým možno priradiť označenie a samotné grafické znázornenie grafu. Pri znázornení viacerých dátových radov (kriviek v grafe) sú tieto farebne odlíšené podľa zvolenej grafickej témy. K dispozícii sú 4 témy: téma android, tmavá téma, pastelová téma a zeleno-žltá téma. | Každý graf obsahuje nadpis, osi x a y, ktorým možno priradiť označenie a samotné grafické znázornenie grafu. Pri znázornení viacerých dátových radov (kriviek v grafe) sú tieto farebne odlíšené podľa zvolenej grafickej témy. K dispozícii sú 4 témy: téma android, tmavá téma, pastelová téma a zeleno-žltá téma. | ||
+ | |||
+ | '''Ukážka použitia grafu''' | ||
+ | |||
+ | <source lang="java"> | ||
+ | GraphXY graf | ||
+ | graf = (GraphXY) findViewById(R.id.graphXY1); | ||
+ | |||
+ | //datova struktura pre reprezentaciu dat | ||
+ | dt=new DataTable(); | ||
+ | // pridanie 1. datovej rady | ||
+ | dt.addDataSet("teplota"); | ||
+ | dt.addDataY(5); | ||
+ | dt.addDataY(6); | ||
+ | dt.addDataY(5); | ||
+ | dt.addDataY(7); | ||
+ | |||
+ | //data pre os x | ||
+ | dt.addDataX(1); | ||
+ | dt.addDataX(3); | ||
+ | dt.addDataX(5); | ||
+ | dt.addDataX(6); | ||
+ | dt.addDataX(8); | ||
+ | |||
+ | //priradenie dat ku grafu | ||
+ | graf.addDataTable(dt); | ||
+ | graf.setXlabel("Cas [s]"); | ||
+ | graf.setYlabel("Teplota [C]"); | ||
+ | graf.setTitle("Pribeh teploty"); | ||
+ | </source> | ||
[[Súbor:Graplib class diagram.png|stred|rám|Diagram tried graplib]] | [[Súbor:Graplib class diagram.png|stred|rám|Diagram tried graplib]] | ||
Riadok 114: | Riadok 143: | ||
''Verejné metódy'' | ''Verejné metódy'' | ||
+ | '''addDataSet''' - Pridá novú množinu údajov. Parametrom je názov novej dátovej množiny. Tento názov sa zobrazí v legende. | ||
+ | <source lang="java"> | ||
public void addDataSet(String title) | public void addDataSet(String title) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''setDataSetName''' - nastaví existujúcej dátovej množine nový názov. Parametre: | ||
+ | * index - poradové číslo množiny. Prvá vložená množina má index 0. | ||
+ | * title - nový názov dátovej množiny. | ||
+ | <source lang="java"> | ||
public int setDataSetName(int index, String title) | public int setDataSetName(int index, String title) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''setDataSetName''' rovnaká funkcionalita ako predchádzajúca matóda, ale nastaví sa názov aktuálne vybranej dátovej množiny. Dátová množina sa nastaví ako aktívna pomocou metódy ''setActiveSet''. | ||
+ | <source lang="java"> | ||
public int setDataSetName(String title) | public int setDataSetName(String title) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''setActiveSet''' - nastaví vybranú dátovú množinu ako aktívnu. | ||
+ | *index - poradové číslo dátovej množiny, ktorá bude označená ako aktívna. | ||
+ | <source lang="java"> | ||
public void setActiveSet(int index) | public void setActiveSet(int index) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''addDataX''' - do množiny údajov pre os x pridá jeden nový údaj spolu s jeho textovým opisom, ktorý môže byť zobrazený na osi x namiesto číselnej hodnoty. O tom, či bude zobrazená na ose x číselná hodnota alebo textová alternatíva sa určí pomocou metódy setXaxisDisplayMode triedy BaseGraph. | ||
+ | *data - ďalšia číselná hodnota pre os x | ||
+ | *tick - textová alternatíva pre hodnotu x. Vhodné využiť pri stĺpcovom grafe. | ||
+ | <source lang="java"> | ||
+ | public void addDataX(double data, String tick) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''addDataX''' - - do množiny údajov pre os x pridá jeden nový údaj. | ||
+ | *data - ďalšia číselná hodnota pre os x | ||
+ | <source lang="java"> | ||
public void addDataX(double data) | public void addDataX(double data) | ||
− | + | </source> | |
+ | |||
+ | |||
+ | '''addDataY''' - Do vybranej množiny údajov pridá jeden nový údaj pre os y. | ||
+ | * setIndex - poradové číslo dátovej množiny. Dátové množiny sú číslované od 0. | ||
+ | * data - nová hodnota pre os y | ||
+ | <source lang="java"> | ||
public void addDataY(int setIndex, double data) | public void addDataY(int setIndex, double data) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''addDataY''' - Do aktívnej dátovej množiny údajov pridá jeden nový údaj pre os y. Aktívna dátová množina sa nastaví pomocou metódy SetActiveSet | ||
+ | * data - nová hodnota pre os y | ||
+ | <source lang="java"> | ||
public void addDataY(double data) | public void addDataY(double data) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getSetLabel''' - Vráti názov vybranej dátovej množiny | ||
+ | *index - poradové číslo dátovej množiny | ||
+ | <source lang="java"> | ||
public String getSetLabel(int index) | public String getSetLabel(int index) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getSetMax''' - Vráti maximum v aktívnej dátovej množine | ||
+ | <source lang="java"> | ||
public double getSetMax() | public double getSetMax() | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getSetMin''' - Vráti minimum v aktívnej dátovej množine | ||
+ | <source lang="java"> | ||
public double getSetMin() | public double getSetMin() | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getMinValue''' - Vráti minimum zo všetkých dátových množin | ||
+ | <source lang="java"> | ||
public double getMinValue() | public double getMinValue() | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getNumberOfSet''' - Vráti počet všetkých dátových množín. | ||
+ | <source lang="java"> | ||
public int getNumberOfSets() | public int getNumberOfSets() | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getNumberOfRows''' - Vráti veľkosť, resp. počet záznamov z vybranej dátovej množiny. | ||
+ | *index - poradové číslo vybranej množiny | ||
+ | <source lang="java"> | ||
public int getNumberOfRows(int index) | public int getNumberOfRows(int index) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getValue''' - Vráti hodnotu z vybranej dátovej množiny, z vybraného riadku | ||
+ | *setIndex - poradové číslo množiny,z ktorej chceme vybrať hodnotu | ||
+ | *rowIndex - poradové číslo záznamu vo vybranej dátovej množine. Riadky sú číslované od 0. | ||
+ | <source lang="java"> | ||
public double getValue(int setIndex, int rowIndex) | public double getValue(int setIndex, int rowIndex) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''getValueStr''' Vráti hodnotu z vybranej dátovej množiny, z vybraného riadku ako reťazec. Význam parametrov je rovnaký ako pri metóde getValue. | ||
+ | <source lang="java"> | ||
public String getValueStr(int setIndex, int rowIndex) | public String getValueStr(int setIndex, int rowIndex) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''setValue''' - Nastaví novú hodnotu vo vybranej dátovej množine, na definovanej pozícii | ||
+ | *setIndex - poradové číslo množiny,do ktorej chceme vložiť hodnotu | ||
+ | *rowIndex - poradové číslo záznamu vo vybranej dátovej množine. Riadky sú číslované od 0. | ||
+ | *val - nová hodnota, ktorá sa uloží | ||
+ | <source lang="java"> | ||
public void setValue(int setIndex, int rowIndex, double val) | public void setValue(int setIndex, int rowIndex, double val) | ||
+ | </source> | ||
+ | |||
+ | |||
+ | '''removeSet''' - zmaže dátovú množinu | ||
+ | *index - poradové číslo množiny, ktorá sa zmaže | ||
+ | <source lang="java"> | ||
public void removeSet(int index) | public void removeSet(int index) | ||
+ | </source> |
Verzia zo dňa a času 18:45, 20. február 2013
Jazyk EN SK | Navigácia | Android projekty -> Graphs for Android -> GraphDemo |
Názov | GraphLib (eu.sensys.graphlib) |
Typ | Knižnica |
Platforma | Android |
Opis | Knižnica s komponentami pre zobrazenie grafov |
Stiahnuť | hneď ako knižnicu odladím... |
Obsah knižnice
Knižnica GraphLib obsahuje komponenty pre mobilnú platformu Android pre vizualizáciu grafov. Obsahuje najznámešie typy grafov ako sú:
- čiarový graf,
- XY graf,
- stĺpcový graf,
- tabuľka (reprezentácia dát vo forme tabuľky).
Podrobný obsah knižnice
Platforma
- Minimálna verzia Android API: 8 (FroYo)
Spoločné vlastnosti všetkých komponentov
Každý graf obsahuje nadpis, osi x a y, ktorým možno priradiť označenie a samotné grafické znázornenie grafu. Pri znázornení viacerých dátových radov (kriviek v grafe) sú tieto farebne odlíšené podľa zvolenej grafickej témy. K dispozícii sú 4 témy: téma android, tmavá téma, pastelová téma a zeleno-žltá téma.
Ukážka použitia grafu
GraphXY graf
graf = (GraphXY) findViewById(R.id.graphXY1);
//datova struktura pre reprezentaciu dat
dt=new DataTable();
// pridanie 1. datovej rady
dt.addDataSet("teplota");
dt.addDataY(5);
dt.addDataY(6);
dt.addDataY(5);
dt.addDataY(7);
//data pre os x
dt.addDataX(1);
dt.addDataX(3);
dt.addDataX(5);
dt.addDataX(6);
dt.addDataX(8);
//priradenie dat ku grafu
graf.addDataTable(dt);
graf.setXlabel("Cas [s]");
graf.setYlabel("Teplota [C]");
graf.setTitle("Pribeh teploty");
Trieda BaseGraph
Základnou triedou je BaseGraph, ktorá zabezpečuje prácu s vykresľovanými dátami, prepočet zobrazovaných dát podľa definovanej mierky a vykreslenie napidsov, osí, popiskov osí a legendy.
Statické konštanty
- Pre nastavenie zobrazenia legendy (parameter metódy setLegendPosition)
- BaseGraph.LEGEND_TOP_LEFT
- BaseGraph.LEGEND_TOP_RIGHT
- BaseGraph.LEGEND_MIDDLE_LEFT
- BaseGraph.LEGEND_MIDDLE_RIGHT
- BaseGraph.LEGEND_BOTTOM_LEFT
- BaseGraph.LEGEND_BOTTOM_RIGHT
- Pre nastavenie spôsobu zobrazenie popiskov osi X
- BaseGraph.XAXIS_DISPLAY_NUM
- BaseGraph.XAXIS_DISPLAY_STR
Verejné medódy
addDataTable - priradí tabuľku dát, ktorá sa bude zobrazovať. Objekt dt (DataTable) musí byť vytvorený a musí obsahovať údaje pre zobrazenie.
public void addDataTable(DataTable dt)
setTitle - nastaví nadpis grafu.
public void setTitle(String title)
setXlabel - nastaví názov osi x.
public void setXlabel(String l)
setYlabel - nastaví názov osi y.
public void setYlabel(String l)
setXLabelRotate - nastaví uhol natočenia popiskov pre os x. Prednastavená hodnota je 0. Uhol rastie proti smeru hodinových ručičiek.
public void setXLabelRotate(int angle)
setXaxisDisplayMode - nastaví spôsob zobrazovania hodnôt na osi x. Pri pridávaní hodnôt pre os x do objektu DataTable je možnosť pridať okrem číslenej hodnoty aj textový popis. Toto sa hodí obzvlášť pri stĺpcových grafoch. Ak sa táto textová hodnota neuvedie, tak textový popis hodnoty je rovnaký ako hodnota. Uvedením parametra BaseGraph.XAXIS_DISPLAY_NUM sa budú zobrazovať na osi x číselné hodnoty, pri uvedení konštanty BaseGraph.XAXIS_DISPLAY_STR sa zobrazia textová alternatíva.
public void setXaxisDisplayMode(int mode)
setStyle - nastaví vizuálny štýl pre zobrazenie grafu. Možné hodnoty parametra style sú: GraphStyle.THEME_ANDROID, GraphStyle.THEME_DARK, GraphStyle.THEME_PASTEL, GraphStyle.THEME_CITRUS
public void setStyle(int style)
displayLegend - určuje či sa zobrazí (dLegend=true) alebo nezobrazí (dLegend=false) legenda
public void displayLegend(boolean dLegend)
setDisplayMarkers - uplatňuje sa pri čiarovom a XY grafe. Určuje sa, či sa vo vykresľovanej krivke, resp. lomenej čiare zobrazia značky daného bodu.
public void setDisplayMarkers(boolean markers)
Trieda DataTable
Trieda TadaTable slúži na uchovanie zobrazovaných dát. Pomocou objektu tejto triedy sa konkrétnemu grafu sprístupnia hodnoty, ktoré bude zobrazovať. Vnútorná reprezentácia dát je nasledovná:
- Hodnoty pre os x sú uložené v zozname reálnych čísel (ArrayList<Double>)
- Keďže graf môže zobrazovať viacero kriviek (viacero dátových radov), hodnoty pre os y sú uložené nasledovne:
- Každá dátová rada je zoznam reálnych čísel (ArrayList<Double>)
- Dátové rady sú reprezentované ako zoznam dátových rád (ArrayList<T>)
Verejné metódy
addDataSet - Pridá novú množinu údajov. Parametrom je názov novej dátovej množiny. Tento názov sa zobrazí v legende.
public void addDataSet(String title)
setDataSetName - nastaví existujúcej dátovej množine nový názov. Parametre:
- index - poradové číslo množiny. Prvá vložená množina má index 0.
- title - nový názov dátovej množiny.
public int setDataSetName(int index, String title)
setDataSetName rovnaká funkcionalita ako predchádzajúca matóda, ale nastaví sa názov aktuálne vybranej dátovej množiny. Dátová množina sa nastaví ako aktívna pomocou metódy setActiveSet.
public int setDataSetName(String title)
setActiveSet - nastaví vybranú dátovú množinu ako aktívnu.
- index - poradové číslo dátovej množiny, ktorá bude označená ako aktívna.
public void setActiveSet(int index)
addDataX - do množiny údajov pre os x pridá jeden nový údaj spolu s jeho textovým opisom, ktorý môže byť zobrazený na osi x namiesto číselnej hodnoty. O tom, či bude zobrazená na ose x číselná hodnota alebo textová alternatíva sa určí pomocou metódy setXaxisDisplayMode triedy BaseGraph.
- data - ďalšia číselná hodnota pre os x
- tick - textová alternatíva pre hodnotu x. Vhodné využiť pri stĺpcovom grafe.
public void addDataX(double data, String tick)
addDataX - - do množiny údajov pre os x pridá jeden nový údaj.
- data - ďalšia číselná hodnota pre os x
public void addDataX(double data)
addDataY - Do vybranej množiny údajov pridá jeden nový údaj pre os y.
- setIndex - poradové číslo dátovej množiny. Dátové množiny sú číslované od 0.
- data - nová hodnota pre os y
public void addDataY(int setIndex, double data)
addDataY - Do aktívnej dátovej množiny údajov pridá jeden nový údaj pre os y. Aktívna dátová množina sa nastaví pomocou metódy SetActiveSet
- data - nová hodnota pre os y
public void addDataY(double data)
getSetLabel - Vráti názov vybranej dátovej množiny
- index - poradové číslo dátovej množiny
public String getSetLabel(int index)
getSetMax - Vráti maximum v aktívnej dátovej množine
public double getSetMax()
getSetMin - Vráti minimum v aktívnej dátovej množine
public double getSetMin()
getMinValue - Vráti minimum zo všetkých dátových množin
public double getMinValue()
getNumberOfSet - Vráti počet všetkých dátových množín.
public int getNumberOfSets()
getNumberOfRows - Vráti veľkosť, resp. počet záznamov z vybranej dátovej množiny.
- index - poradové číslo vybranej množiny
public int getNumberOfRows(int index)
getValue - Vráti hodnotu z vybranej dátovej množiny, z vybraného riadku
- setIndex - poradové číslo množiny,z ktorej chceme vybrať hodnotu
- rowIndex - poradové číslo záznamu vo vybranej dátovej množine. Riadky sú číslované od 0.
public double getValue(int setIndex, int rowIndex)
getValueStr Vráti hodnotu z vybranej dátovej množiny, z vybraného riadku ako reťazec. Význam parametrov je rovnaký ako pri metóde getValue.
public String getValueStr(int setIndex, int rowIndex)
setValue - Nastaví novú hodnotu vo vybranej dátovej množine, na definovanej pozícii
- setIndex - poradové číslo množiny,do ktorej chceme vložiť hodnotu
- rowIndex - poradové číslo záznamu vo vybranej dátovej množine. Riadky sú číslované od 0.
- val - nová hodnota, ktorá sa uloží
public void setValue(int setIndex, int rowIndex, double val)
removeSet - zmaže dátovú množinu
- index - poradové číslo množiny, ktorá sa zmaže
public void removeSet(int index)