Graphs for Android: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 63: Riadok 63:
  
  
===Trieda BaseGraph===
+
==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.
 
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.
Riadok 69: Riadok 69:
 
[[Súbor:Graplib class.png|stred|rám|Trieda BaseGraph]]
 
[[Súbor:Graplib class.png|stred|rám|Trieda BaseGraph]]
  
 +
===Verejné objekty===
 +
;DataTable data: Objekt [[Graphs for Android:DataTable|DataTable]] pre reprezentáciu zobrazovaných dát. Tento objekt je nutné použiť pri všetkých typoch grafov pre uloženie zobrazovaných dát.
  
''Statické konštanty''
+
===Statické konštanty===
 
*Pre nastavenie zobrazenia legendy (parameter metódy setLegendPosition)
 
*Pre nastavenie zobrazenia legendy (parameter metódy setLegendPosition)
 
**BaseGraph.LEGEND_TOP_LEFT
 
**BaseGraph.LEGEND_TOP_LEFT
Riadok 83: Riadok 85:
  
  
''Verejné medódy''
+
===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.  
 
'''addDataTable''' - priradí tabuľku dát, ktorá sa bude zobrazovať. Objekt dt (DataTable) musí byť vytvorený a musí obsahovať údaje pre zobrazenie.  
Riadok 90: Riadok 92:
 
</source>
 
</source>
  
'''setTitle''' - nastaví nadpis grafu.
 
<source lang="java">
 
public void setTitle(String title)
 
</source>
 
 
'''setXlabel''' - nastaví názov osi x.
 
<source lang="java">
 
public void setXlabel(String l)
 
</source>
 
 
'''setYlabel''' - nastaví názov osi y.
 
<source lang="java">
 
public void setYlabel(String l)
 
</source>
 
 
'''setXLabelRotate''' - nastaví uhol natočenia popiskov pre os x. Prednastavená hodnota je 0. Uhol rastie proti smeru hodinových ručičiek.
 
<source lang="java">
 
public void setXLabelRotate(int angle)
 
</source>
 
 
'''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.
 
<source lang="java">
 
public void setXaxisDisplayMode(int mode)
 
</source>
 
 
'''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
 
<source lang="java">
 
public void setStyle(int style)
 
</source>
 
  
 
'''displayLegend''' - určuje či sa zobrazí (dLegend=true) alebo nezobrazí (dLegend=false) legenda
 
'''displayLegend''' - určuje či sa zobrazí (dLegend=true) alebo nezobrazí (dLegend=false) legenda
Riadok 125: Riadok 98:
 
</source>
 
</source>
  
'''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.
 
<source lang="java">
 
public void setDisplayMarkers(boolean markers)
 
</source>
 
 
===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 (<nowiki>ArrayList<Double></nowiki>)
 
* 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 (<nowiki>ArrayList<Double></nowiki>)
 
** Dátové rady sú reprezentované ako zoznam dátových rád (<nowiki>ArrayList<T></nowiki>)
 
  
[[Súbor:Graplib class DataTable.png|stred|rám|Trieda DataTable]]
+
'''getDisplayMarkers''' - vráti informáciu o tom, či budú v grafe zobrazené značky cez zobrazované body.
 
 
 
 
''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">
 
<source lang="java">
public void addDataSet(String title)
+
public boolean getDisplayMarkers(){
 +
    return this.display_markers;
 +
}
 
</source>
 
</source>
  
 
+
'''getStyle''' - Vráti štýl grafu ako konštantu
'''setDataSetName''' - nastaví existujúcej dátovej množine nový názov. Parametre:
+
* GraphStyle.THEME_ANDROID
* index - poradové číslo množiny. Prvá vložená množina má index 0.
+
* GraphStyle.THEME_DARK
* title - nový názov dátovej množiny.
+
* GraphStyle.THEME_PASTEL
 +
* GraphStyle.THEME_CITRUS
 
<source lang="java">
 
<source lang="java">
public int setDataSetName(int index, String title)
+
public int getStyle(){}
 
</source>
 
</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''.
+
'''getTitle''' - Vráti názov grafu
 
<source lang="java">
 
<source lang="java">
public int setDataSetName(String title)
+
public String getTitle()
 
</source>
 
</source>
  
  
'''setActiveSet''' - nastaví vybranú dátovú množinu ako aktívnu.
+
'''getXLabelRotate''' - vráti natočenie popiskov na osi x. Výsledná hodnota je uhol v stupňoch a kladná hodnota natočenia je orientovaná proti smeru hodinových ručičiek.
*index - poradové číslo dátovej množiny, ktorá bude označená ako aktívna.
 
 
<source lang="java">
 
<source lang="java">
public void setActiveSet(int index)
+
public int getXLabelRotate()
 
</source>
 
</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.
+
'''resetYmin''' - zruší manuálne nastavenie dolného limitu pre zobrazenie hodnôt na osi y. Po zavolaní tejto metódy sa dolná hranica grafu na osi y vypočíta automaticky podľa zobrazovaných hodnôt.
*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">
 
<source lang="java">
public void addDataX(double data, String tick)
+
public void resetYmin()
 
</source>
 
</source>
  
  
'''addDataX''' - - do množiny údajov pre os x pridá jeden nový údaj.
+
'''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.
*data - ďalšia číselná hodnota pre os x
 
 
<source lang="java">
 
<source lang="java">
public void addDataX(double data)
+
public void setDisplayMarkers(boolean markers)
 
</source>
 
</source>
  
  
'''addDataY''' - Do vybranej množiny údajov pridá jeden nový údaj pre os y.
+
'''setLegendPosition''' - Nastaví pozíciu legendy. Podrobnosti o parametre metódy v časti ''statické konštanty'' (trieda MaseGraph)
* setIndex - poradové číslo dátovej množiny. Dátové množiny číslované od 0.
 
* data - nová hodnota pre os y
 
 
<source lang="java">
 
<source lang="java">
public void addDataY(int setIndex, double data)
+
public void setLegendPosition(int position)
 
</source>
 
</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
+
'''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
* data - nová hodnota pre os y
 
 
<source lang="java">
 
<source lang="java">
public void addDataY(double data)
+
public void setStyle(int style)
 
</source>
 
</source>
  
  
'''getSetLabel''' - Vráti názov vybranej dátovej množiny
+
'''setTickXformat''' - Nastaví počet desatinných miesto pre zobrazenie hodnôt na ose x.
*index - poradové číslo dátovej množiny
 
 
<source lang="java">
 
<source lang="java">
public String getSetLabel(int index)
+
public void setTickXformat(int format)
 
</source>
 
</source>
  
  
'''getSetMax''' - Vráti maximum v aktívnej dátovej množine
+
'''setTitle''' - nastaví nadpis grafu.
 
<source lang="java">
 
<source lang="java">
public double getSetMax()
+
public void setTitle(String title)
 
</source>
 
</source>
  
  
'''getSetMin''' - Vráti minimum v aktívnej dátovej množine
+
'''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.
<source lang="java">
 
public double getSetMin()
 
</source>
 
 
 
  
'''getMinValue''' - Vráti minimum zo všetkých dátových množin
+
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.
 
<source lang="java">
 
<source lang="java">
public double getMinValue()
+
public void setXaxisDisplayMode(int mode)
 
</source>
 
</source>
  
  
'''getNumberOfSet''' - Vráti počet všetkých dátových množín.
+
'''setXlabel''' - nastaví názov osi x.
 
<source lang="java">
 
<source lang="java">
public int getNumberOfSets()
+
public void setXlabel(String l)
 
</source>
 
</source>
  
  
'''getNumberOfRows''' - Vráti veľkosť, resp. počet záznamov z vybranej dátovej množiny.
+
'''setXLabelRotate''' - nastaví uhol natočenia popiskov pre os x. Prednastavená hodnota je 0. Uhol rastie proti smeru hodinových ručičiek.
*index - poradové číslo vybranej množiny
 
 
<source lang="java">
 
<source lang="java">
public int getNumberOfRows(int index)
+
public void setXLabelRotate(int angle)
 
</source>
 
</source>
  
  
'''getValue''' - Vráti hodnotu z vybranej dátovej množiny, z vybraného riadku
+
'''setYlabel''' - nastaví názov osi y.
*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">
 
<source lang="java">
public double getValue(int setIndex, int rowIndex)
+
public void setYlabel(String l)
</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)
 
</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)
 
</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)
 
 
</source>
 
</source>

Verzia zo dňa a času 16:58, 23. 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");
Diagram tried graplib


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.

Trieda BaseGraph

Verejné objekty

DataTable data
Objekt DataTable pre reprezentáciu zobrazovaných dát. Tento objekt je nutné použiť pri všetkých typoch grafov pre uloženie zobrazovaných dát.

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)


displayLegend - určuje či sa zobrazí (dLegend=true) alebo nezobrazí (dLegend=false) legenda

public void displayLegend(boolean dLegend)


getDisplayMarkers - vráti informáciu o tom, či budú v grafe zobrazené značky cez zobrazované body.

public boolean getDisplayMarkers(){
    return this.display_markers;
}

getStyle - Vráti štýl grafu ako konštantu

  • GraphStyle.THEME_ANDROID
  • GraphStyle.THEME_DARK
  • GraphStyle.THEME_PASTEL
  • GraphStyle.THEME_CITRUS
public int getStyle(){}


getTitle - Vráti názov grafu

public String getTitle()


getXLabelRotate - vráti natočenie popiskov na osi x. Výsledná hodnota je uhol v stupňoch a kladná hodnota natočenia je orientovaná proti smeru hodinových ručičiek.

public int getXLabelRotate()


resetYmin - zruší manuálne nastavenie dolného limitu pre zobrazenie hodnôt na osi y. Po zavolaní tejto metódy sa dolná hranica grafu na osi y vypočíta automaticky podľa zobrazovaných hodnôt.

public void resetYmin()


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)


setLegendPosition - Nastaví pozíciu legendy. Podrobnosti o parametre metódy sú v časti statické konštanty (trieda MaseGraph)

public void setLegendPosition(int position)


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)


setTickXformat - Nastaví počet desatinných miesto pre zobrazenie hodnôt na ose x.

public void setTickXformat(int format)


setTitle - nastaví nadpis grafu.

public void setTitle(String title)


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)


setXlabel - nastaví názov osi x.

public void setXlabel(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)


setYlabel - nastaví názov osi y.

public void setYlabel(String l)