Téměř všechny grafické možnosti v balíčku VennDiagram byly parametrizovány a přizpůsobeny. Výchozí hodnoty byly zvoleny tak, aby se generovaly rozumné diagramy, takže v jednoduchých případech není nutná vysoká úroveň přizpůsobení. Obrázek 1 poukazuje na rozmanitost dostupných parametrizací. Existují čtyři hlavní skupiny grafických parametrů: výplň tvaru, linie tvaru, popisky a nadpisy. Výplň tvaru se týká barev uvnitř každého kruhu nebo elipsy. Lze použít všechny barvy dostupné v prostředí R a na základě jednotlivých tvarů lze nastavit alfa-blending. Shape-lines jsou čáry, které obklopují každý kruh nebo elipsu. Mohou zcela chybět (obrázek 1C), mohou být plné (obrázky 1A a 1B) nebo jakýkoli jiný typ čar, který je v R k dispozici (obrázek 1D). Jejich barvu lze měnit a každý tvar může mít samostatnou sadu parametrů. Popisky se vztahují jak k popiskům popisujícím jednotlivé kružnice nebo elipsy, tak k číslům v nich. Ty lze opět přizpůsobit z hlediska barvy, typu a velikosti písma pomocí libovolného dostupného parametru R. Přizpůsobit lze také polohu popisků. Stejným způsobem jako popisky lze přizpůsobit i nadpisy, které zahrnují hlavní nadpis a podnadpis, jak ukazuje obrázek 1D.
Kromě těchto specifických grafických prvků nabízí VennDiagram také mnoho obecných možností, jako je škálování, otáčení nebo inverze diagramů. Škálování diagramů bylo implementováno s cílem zobrazovat Vennovy diagramy, kde grafické velikosti dílčích oblastí (oblastí ohraničených ze všech stran křivkami, které nelze dále dělit) skutečně odpovídají číselným hodnotám počtu prvků v jednotlivých oblastech. Škálování Vennových diagramů se dvěma množinami a vybraných Vennových diagramů se třemi množinami je možné – níže diskutujeme o problémech, které je třeba řešit, aby to bylo možné ve všech případech tří množin. Použití škálování může někdy vést k tomu, že překrývající se oblasti jsou příliš malé pro číselné označení. Obrázek 2, řádek 1, sloupec 1 ukazuje programově generovanou spojovací čáru, která umožňuje speciální řešení tohoto případu. Je implementováno automatické rozpoznávání velkého počtu Eulerových diagramů, ale tento režim lze deaktivovat parametrem volání funkce a místo toho vykreslit standardní Vennovy diagramy. Obrázek 2, řádek 1, sloupce 2 a 3 ukazují dva příklady Eulerových diagramů se dvěma množinami. Řádky 2 a 3 zobrazují podmnožinu implementovaných Eulerových diagramů se třemi množinami, přičemž řádek 3 zobrazuje diagramy škálovatelné variety. Poznamenáváme, že obrázek 2 je prezentován černobíle, aby vynikly kompoziční rozdíly mezi diagramy, ale grafické parametry a úpravy použité na obrázku 1 jsou plně k dispozici. Zatímco VennDiagram ve výchozím nastavení zapisuje grafiku do souborů TIFF s vysokým rozlišením, pokud je parametr filename nastaven na NULL, lze vrátit surový objekt mřížky a použít jej v libovolném grafickém režimu dostupném v R. Kód pro generování všech obrázků je uveden v Doplňkovém souboru 3 a příklad všech dostupných parametrizací je uveden v Doplňkovém souboru 4.
Diskuse
Při vývoji balíku VennDiagram bylo zjištěno, že není možné kreslit přesné, škálované Vennovy diagramy se třemi množinami pomocí kružnic. Tuto hádanku ilustruje následující scénář. V soustavě dvou kružnic A a B lze určit vzdálenosti mezi středy kružnic, dAB, pokud jsou známy jejich plochy (AA, resp. AB) a plocha průsečíku (AA ∩ AB). To je možné, protože v soustavě dvou kružnic odpovídá jediná hodnota AA ∩ AB jedinečné hodnotě dAB. Proto lze pro soustavu tří kružnic A, B a C vypočítat dAB, dBC, dAC, pokud jsou známy hodnoty AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC. Avšak dAB, dBC, dAC tvoří jedinečný trojúhelník, což znamená, že Vennův diagram lze nakreslit, aniž bychom znali celkový průsečík AA ∩ AB ∩ AC. Jinými slovy, velikost překryvu všech tří kružnic nemění zobrazení zmenšených Vennových diagramů – plocha se nemění, ani když má jedna soustava nulový celkový průnik (tj. AA ∩ AB ∩ AC = 0)! Tato hádanka vyplývá z (libovolné) volby kruhů pro znázornění velikosti množiny, která snižuje stupně volnosti o jeden. Jednoznačné řešení lze identifikovat použitím elipsy nebo mnohoúhelníků pro vykreslení Vennových diagramů, ale výsledné diagramy by ztratily okamžitou rozpoznatelnost a známost spojenou s kruhovými Vennovými diagramy, což by zmařilo smysl pohodlného zobrazení informací. Nekruhové diagramy by také vyžadovaly iterační algoritmy pro výpočet polohy a velikosti tvarů, což by značně zvýšilo výpočetní zátěž, jak o tom hovořili jiní. Proto je v balíčku VennDiagram vypnuto škálování Vennových diagramů se třemi sadami. Podobně nebyly v balíčku VennDiagram implementovány Vennovy diagramy obsahující více než čtyři množiny, protože se stávají příliš složitými pro intuitivní vizualizaci.
Obecným upozorněním při použití Eulerových diagramů je, že ačkoli snižují grafickou složitost některých Vennových diagramů, jejich netradiční tvary mohou být v některých případech také méně rozpoznatelné. Pokud jsou přítomny prázdné oblasti, musí uživatel volit mezi známostí Vennových diagramů a větší přesností Eulerových diagramů. Obrázek 3 znázorňuje situaci, kdy v závislosti na preferencích uživatele může být vhodný buď Vennův, nebo Eulerův diagram.
Balík VennDiagram zvládá všechny Eulerovy diagramy dvou množin a většinu všech myslitelných Eulerových diagramů tří množin. Třímístné Eulerovy diagramy, které nebylo možné nakreslit pomocí kružnic nebo elips, nejsou podporovány. Například Eulerův diagram pro případ, kdy dvě neprotínající se množiny tvoří třetí množinu, nelze nakreslit pomocí kružnic a elips, lze jej však nakreslit pomocí mnohoúhelníků. Tento typ obrázku nemá hotové analytické uspořádání a vyžadoval by iterační přizpůsobení; Eulerovy diagramy vyžadující polygony nejsou k dispozici, ale pro těchto několik nepodporovaných případů jsou k dispozici standardní Vennovy diagramy.
Po porovnání s jinými programy schopnými generovat Vennovy diagramy (tabulka 1) patří mezi výhody balíku VennDiagram:
-
Kreslení Eulerových diagramů pomocí kružnic a/nebo elips se dvěma nebo třemi množinami
-
Nabízí větší přizpůsobitelnost pro generování elegantnějších diagramů
-
Dostupnost v široce rozšířené-používaném statistickém prostředí R
-
Generování souborů TIFF s vysokým rozlišením, které se standardně používají v publikacích