Prawie wszystkie opcje graficzne w pakiecie VennDiagram zostały sparametryzowane i dostosowane do potrzeb użytkownika. Domyślne wartości zostały wybrane tak, aby generować sensowne diagramy, więc w prostych przypadkach wysoki poziom dostosowania nie jest wymagany. Rysunek 1 pokazuje różnorodność dostępnych parametryzacji. Istnieją cztery główne grupy parametrów graficznych: wypełnienie kształtu, linia kształtu, etykiety i tytuły. Wypełnienie kształtu odnosi się do kolorów wewnątrz każdego okręgu lub elipsy. Mogą być użyte wszystkie kolory dostępne w środowisku R, a alfa-blending może być regulowany dla każdego kształtu. Linie kształtu to linie, które otaczają każdy okrąg lub elipsę. Mogą być całkowicie nieobecne (rysunek 1C), pełne (rysunki 1A i 1B) lub dowolnego innego dostępnego w środowisku R typu linii (rysunek 1D). Ich kolor może być zmieniany, a każdy kształt może mieć osobny zestaw parametrów. Etykiety odnoszą się zarówno do napisów opisujących każdy okrąg lub elipsę, jak i do liczb w nich zawartych. Również w tym przypadku można je dostosować pod względem koloru, rodzaju i wielkości czcionki za pomocą dowolnego parametru R. Położenie etykiet podpisów również można dostosować. Tytuły, które zawierają tytuł główny i podtytuł, jak pokazano na rysunku 1D, mogą być również dostosowane w ten sam sposób jak etykiety.
Poza tymi specyficznymi elementami graficznymi, VennDiagram oferuje również wiele ogólnych opcji, takich jak skalowanie, obracanie i odwracanie diagramów. Skalowanie diagramów zostało zaimplementowane w celu wyświetlania diagramów Venna, w których graficzne rozmiary obszarów częściowych (obszarów ograniczonych ze wszystkich stron krzywymi, które nie mogą być dalej podzielone) odpowiadają liczbowym wartościom liczby elementów w każdym regionie. Skalowanie dwuskładnikowych diagramów Venna i wybranych trójskładnikowych diagramów Venna jest możliwe – poniżej omawiamy wyzwania związane z umożliwieniem tego dla wszystkich przypadków trójskładnikowych. Użycie skalowania może czasami prowadzić do tego, że nakładające się obszary są zbyt małe dla etykiet numerycznych. Rysunek 2, wiersz 1, kolumna 1 pokazuje programowo wygenerowaną linię łączącą, która pozwala na specjalne potraktowanie tego przypadku. Automatyczne rozpoznawanie dużej liczby diagramów Eulera jest zaimplementowane, ale tryb ten można wyłączyć za pomocą parametru wywołania funkcji, aby zamiast tego wykreślić standardowe diagramy Venna. Rysunek 2, wiersz 1, kolumny 2 i 3 pokazują dwa przykłady dwuskładnikowych diagramów Eulera. Rzędy 2 i 3 pokazują podzbiór zaimplementowanych trójzestawowych diagramów Eulera, przy czym rząd 3 pokazuje te o odmianie skalowalnej. Zwracamy uwagę, że rysunek 2 jest przedstawiony w czerni i bieli, aby podkreślić różnice kompozycyjne pomiędzy diagramami, ale parametry graficzne i dostosowania użyte na rysunku 1 są w pełni dostępne. Podczas gdy VennDiagram domyślnie zapisuje grafikę do plików TIFF o wysokiej rozdzielczości, jeśli parametr filename jest ustawiony na NULL, surowy obiekt siatki może być zwrócony i użyty w dowolnym trybie graficznym dostępnym w R. Kod generujący wszystkie figury jest podany w pliku dodatkowym 3, a przykład wszystkich dostępnych parametryzacji jest pokazany w pliku dodatkowym 4.
Dyskusja
Podczas rozwijania pakietu VennDiagram odkryto, że niemożliwe jest rysowanie dokładnych, skalowanych diagramów Venna z trzema zbiorami przy użyciu okręgów. Ten problem jest zilustrowany następującym scenariuszem. W układzie dwóch okręgów A i B można wyznaczyć odległości między środkami tych okręgów, dAB, o ile znane są ich pola (odpowiednio AA i AB) oraz pole przecięcia (AA ∩ AB). Jest to możliwe, ponieważ w układzie dwóch okręgów pojedynczemu AA ∩ AB odpowiada unikalna wartość dAB. Zatem w układzie trzech okręgów A, B, i C, dAB, dBC, dAC można obliczyć tak długo, jak długo znane są AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC. Jednak dAB, dBC, dAC tworzą unikalny trójkąt, co sugeruje, że diagram Venna można narysować bez znajomości całkowitego przecięcia AA ∩ AB ∩ AC. Innymi słowy, wielkość zachodzenia na siebie wszystkich trzech okręgów nie zmienia prezentacji przeskalowanego diagramu Venna – obszar jest niezmienny nawet wtedy, gdy jeden z układów ma zerowe całkowite przecięcie (tzn. AA ∩ AB ∩ AC = 0)! Ten problem wynika z (arbitralnego) wyboru okręgów do reprezentowania rozmiaru zbioru, co zmniejsza liczbę stopni swobody o jeden. Unikalne rozwiązania można znaleźć, używając elips lub wielokątów do rysowania diagramów Venn’a, ale diagramy te straciłyby natychmiastową rozpoznawalność i znajomość kojarzoną z okrągłymi diagramami Venn’a, co zniweczyłoby sens wygodnego wyświetlania informacji. Nieokrągłe diagramy wymagałyby również iteracyjnych algorytmów do obliczania pozycji i rozmiarów kształtów, co znacznie zwiększyłoby obciążenia obliczeniowe, jak zostało to omówione przez innych . W związku z tym, skalowanie trójzestawowych diagramów Venna jest wyłączone w pakiecie VennDiagram. Podobnie, diagramy Venna zawierające więcej niż cztery zestawy nie zostały zaimplementowane w pakiecie VennDiagram, ponieważ stają się zbyt skomplikowane do intuicyjnej wizualizacji.
Ogólnym zastrzeżeniem podczas używania diagramów Eulera jest to, że chociaż zmniejszają one graficzną złożoność niektórych diagramów Venna, ich nietradycyjne kształty mogą być również mniej rozpoznawalne w niektórych przypadkach. Gdy obecne są puste obszary, użytkownik musi wybrać pomiędzy znajomością diagramów Venn a zwiększoną dokładnością diagramów Eulera. Rysunek 3 ilustruje sytuację, w której albo diagram Venn albo diagram Eulera może być odpowiedni w zależności od preferencji użytkownika.
Pakiet VennDiagram obsługuje wszystkie dwuskładnikowe diagramy Eulera i większość wszystkich możliwych trójskładnikowych diagramów Eulera. Trójzestawowe diagramy Eulera, które nie mogą być rysowane za pomocą okręgów lub elips nie są obsługiwane. Na przykład, wykres Eulera dla przypadku, gdy dwa nieprzecinające się zbiory tworzą trzeci zbiór, nie może być narysowany przy użyciu kół i elips, ale może być narysowany przy użyciu wielokątów. Ten typ figury nie ma gotowego układu analitycznego i wymagałby iteracyjnego dopasowania; nie są dostępne diagramy Eulera wymagające wielokątów, ale standardowe diagramy Venna są dostępne dla tych kilku nieobsługiwanych przypadków.
Po porównaniu z innymi programami zdolnymi do generowania diagramów Venna (Tabela 1), zalety pakietu VennDiagram obejmują:
-
Rysowanie diagramów Eulera przy użyciu okręgów i/lub elips z dwoma lub trzema zbiorami
-
Oferowanie większych możliwości dostosowania do potrzeb użytkownika w celu wygenerowania bardziej eleganckich diagramów
-
Dostępność w szeroko-używanym środowisku statystycznym R
-
Generowanie plików TIFF o wysokiej rozdzielczości, które są standardem w publikacjach