Jak dynamicky měnit barvu grafu

LO_Calc.png Představte si, že by se vám v tabulce v Calcu měnily hodnoty a v závislosti na nich by se vám měnily barvy grafů. Právě k tomuto účelu byla do poslední verze LibreOffice přidána funkce „Mapování vlastností“, kterou si v tomto článku představíme.   

Pokud jste chtěli dříve změnit barvu grafu, museli jste to udělat přímo – vybrat daný graf v editoru grafů a obarvit. V současnosti ale máte k dispozici poněkud větší flexibilitu, která vám zajistí, že se graf určité datové řady bude chovat jako „podmíněné formátování“ - tedy jako by byl formátován s nějakou podmínkou. A skutečně, tu podmínku můžete přidat. Aktuálně jde o barvu obrysu a výplně.

Tabulka a graf s namapovanými hodnotami výplně Tabulka a graf s namapovanými hodnotami výplně

Jak to funguje

Mapování vlastností funguje na principu, že lze obarvit graf na základě podmínky, kterou mu dáte – typicky „pokud je hodnota této buňky menší než 3, obarvi graf zeleně, jinak nechť je červený“. Tuto podmínku pak můžete rozkopírovat na ostatní hodnoty v datové oblasti. V příslušném dialogovém okně pak danou podmínku přiřadíte určité datové oblasti a je hotovo.

Tímto způsobem můžete dynamicky měnit název datové oblasti, výběr datové oblasti, výplň a obrys příslušného grafu. Co to znamená dynamicky? Jednoduše pokud ve zdrojové tabulce změníte jednu z vlastností, která je dynamicky propojená s grafem, změní se i hodnoty v grafu.

Pojďme si to vyzkoušet…

Na obrázku níže vidíte tabulku hospodářského výsledku ve firmě za určité období – velice jednoduchou, pro ilustraci. Poslední sloupec byl vybrán jako datová oblast pro vytvoření grafu. Na něj pak je aplikováno mapování vlastností.

Namíchejte požadovanou barvu a hodnoty RGB si zaznamenejte Namíchejte požadovanou barvu a hodnoty RGB si zaznamenejte

Postup je následující:

  1. Vytvořte zdrojovou tabulku.
  2. Pokud chcete použít mapování výplně a/nebo obrysu grafu (záleží na jeho typu), je třeba doplnit podmínku, za jakou se výplň/obrys vybarví. V tomto případě například chceme, aby se graf zobrazil modře, pokud budou čísla ve třetím sloupci kladná, a červeně, pokud budou záporná.
    • Tuto podmínku musíte napsat do tabulky ručně formou vzorce, jeho podobu vidíte na obrázku v šestém sloupci (samotná funkce, tedy včetně rovnítka, je použita v pátém, kde vidíte její výsledek).
    • Je použita funkce IF, která sestává ze tří částí – nejprve se vpisuje test (co se sleduje), pak to, co má nastat, pokud je podmínka splněna, a nakonec chování pro všechny ostatní případy. Jestliže uvažujeme o vybarvení výplně nebo obrysu grafu, musíme napsat do podmínky barvy, které se mají použít pro případy, že je podmínka splněna i nesplněna.
    • Barvy se zapisují jako složky RGB (resp. RGBA) barevného režimu (Red, Green, Blue; A znamená alfa kanál, hodnota průhlednosti). Abyste získali jednotlivá číselná vyjádření barevných složek, nemusíte kvůli tomu spouštět nějaký grafický program, vystačíte si s LibreOffice.
    • V dialogovém okně Nástroje | Možnosti si vyberte sekci Barvy a stiskněte tlačítko Upravit. Tím otevřete další okno, ve kterém lze upravit hodnotu vybrané barvy. Použijte například míchání podle režimu HSB, což je pro míchání barev asi nejpraktičtější způsob. V příslušných polích pak vidíte hodnoty barevných složek R, G, B. Na obrázku vidíte možné hodnoty pro modrou barvu. Stačí si je opsat a namíchat barvy pro případ, že je podmínka nesplněna.
    • V daném případě jsme zvolili červenou barvu a možné kombinace barevných složek 221, 18, 45. Tyto hodnoty pak vložíme do podmínky pod funkcí COLOR, jako je tomu na prvním obrázku. Výsledkem bude číslo, které reprezentuje barvu jako výsledek podmínky.
    • Takto vytvořenou funkci pak tažením můžete zkopírovat pro všechny hodnoty v tabulce – odkaz na buňku ve čtvrtém sloupci se automaticky přizpůsobí podle řádku, což je velmi praktické.
  3. Označte datovou oblast, která má sloužit pro vykreslení grafu. V tomto případě jde o sloupec D, a vyvolejte dialog pro vložení grafu – například z nabídky Vložit | Objekt | Graf.
  4. Vyberte typ grafu. V tomto případě se hodí sloupcový 3D, realistický. Stiskněte tlačítko Další.

    Vyberte jeden z přednastavených typů grafu Vyberte jeden z přednastavených typů grafu

  5. V dalším kroku odškrtněte pole První řádek jako popisek a stiskněte Další.

    Odškrtněte pole První řádek jako popisek Odškrtněte pole První řádek jako popisek

  6. Konečně přichází ke slovu možnost mapování. V části Oblasti dat vyberte pole Barva výplně. Klepněte na tlačítko Přidat oblast dat (napravo od pole Oblast pro Barva výplně) a označte buňky ve sloupci E.

    Namapujte barvy, kategorie, název a datové oblasti Namapujte barvy, kategorie, název a datové oblasti

  7. Dále doplňte Kategorie, tedy vlastně popisky jednotlivých položek (řádků tabulky) v grafu. Pole Kategorie je přístupné pro jakýkoliv výběr v sekci Oblasti dat, je na této sekci nezávislé.
  8. Stiskněte Další a v dalším okně vyplňte nadpis a podnadpis grafu. Jelikož sledujete jen jednu položku, můžete odškrtnout pole Zobrazit legendu.

    Grafu i osám lze přidat popisky... Grafu i osám lze přidat popisky...

  9. Stiskněte tlačítko Dokončit a graf je hotov. Podle chuti si ho můžete dále vzhledově vylepšit.

Tímto způsobem se vám podařilo na graf namapovat hodnoty z tabulky a barvu výplně grafu. Pokud v tabulce provedete nějaké změny ve sloupcích Rok, Příjmy nebo výdaje, okamžitě se automaticky změna projeví na grafu. Můžete si to vyzkoušet.

Autor používá LibreOffice 4.3

(Jako ve škole) Průměr: 3.40 | Hodnotilo: 10
 

Komentáře

user avatar Petr Pravda
Odpovědět
Jak dynamicky měnit barvu grafu
17. 12. 2014, 15:48:20
Nepodařilo se mi to. Máte někde soubor s ukázkou?
user avatar Petr Valach
Odpovědět
Re:Jak dynamicky měnit barvu grafu
17. 12. 2014, 17:07:10
Dáváte před IF rovnítko?
user avatar majduschka
Odpovědět
Jak dynamicky měnit barvu grafu
3. 11. 2016, 13:48:09
Jde toto i v excelu?
Našla jsem jen s pomocnou tabulkou, což mne napadlo i samotnou, ale zda jde na základě hodnoty podmínit barvu grafu jsem nenašla. Resp. pod nulou a nad nulou to jde, ale zda si jde určit nějaká kritéria - že na tuto hranici je to OK a je to zelené a jinak například žluté a pod určitou hranicí červené apod.

A u Libre, zda jde též mít více barev, vnořením if (?) nebo ještě jinak?

Předem děkuji moc
user avatar Petr Valach
Odpovědět
Re:Jak dynamicky měnit barvu grafu
3. 11. 2016, 18:44:49
Zda to jde v Excelu? Myslím, že ne, ale popravdě, je mi to fík :-D

Více barev? Myslíte gradient? Hmm, to by stálo za zvážení. V podstatě je jedno, jakou funkci tam dáte, pokud jsem dobře pochopil.
user avatar lp.
Odpovědět
Re:Jak dynamicky měnit barvu grafu
5. 11. 2016, 01:26:47
Tento efekt lze vytvořit pomocí skládaného sloupcového grafu.
Pro každou úroveň se vytvoří samostatná řada a ve složeném grafu to vypadá stejně jako v uvedeném příkladě.

Tuto techniku lze použít ve všech programech, které podporují skládané sloupcové grafy.

V článku uvedená vlastnost mi připadá méně pohodlná. Snad autoři najdou pohodlnější variantu. Třeba opravdový podmíněný formát v grafu.

Vlastnost ovšem nabízí zajímavé efekty.
V buňkách s barvou musí být číslo odpovídající zvolené barvě. Vnořování if je nepohodlné. Pro více hodnot je lepší si vyrobit vedle tabulku (hodnota\barva) a barvu vybrat pomocí VLOOKUP. Tabulku s funkcemi COLOR lze generovat parametrem, nap5. =color(0;0+20*i;255-20*i) dosáhnete zajímavého efektu změn odstínů barev.

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Petr Valach

Petr Valach

Redaktor & editor OpenOffice.cz a LinuxEXPRES.cz. Správce sociálních médií těchto redakcí. Člen nadace The Document Foundation. Ve svém volnu se věnuje popularizaci vědy a fotografování.

 
 
 
woo jaw demo hz