Aproape toate opțiunile grafice din pachetul VennDiagram au fost parametrizate și personalizate. Valorile implicite au fost selectate pentru a genera diagrame sensibile, astfel încât în cazurile simple nu este necesar un nivel ridicat de personalizare. Figura 1 evidențiază diversitatea parametrizărilor disponibile. Există patru grupuri majore de parametri grafici: shape-fill, shape-line, labels și titles. Shape-fill se referă la culorile din interiorul fiecărui cerc sau elipsă. Pot fi utilizate toate culorile disponibile în mediul R, iar blendingul alfa poate fi ajustat pentru fiecare formă în parte. Liniile formei sunt liniile care înconjoară fiecare cerc sau elipsă. Acestea pot fi complet absente (figura 1C), solide (figurile 1A și 1B) sau orice alt tip de linie R disponibil (figura 1D). Culoarea lor poate fi modificată, iar fiecare formă poate avea un set separat de parametri. Etichetele se referă atât la legendele care descriu fiecare cerc sau elipsă, cât și la numerele din cadrul acestora. Din nou, acestea pot fi personalizate în ceea ce privește culoarea, tipul și dimensiunea fontului cu orice parametru R disponibil. Pozițiile etichetelor legendei pot fi, de asemenea, personalizate. Titlurile, care includ titlul principal și subtitlul, așa cum este demonstrat în figura 1D, pot fi, de asemenea, personalizate în același mod ca și etichetele.
Peste aceste elemente grafice specifice, VennDiagram oferă, de asemenea, multe opțiuni generale, cum ar fi scalarea, rotația sau inversarea diagramelor. Scalarea diagramelor a fost implementată cu scopul de a afișa diagrame Venn în care dimensiunile grafice ale zonelor parțiale (zone delimitate pe toate laturile de curbe și care nu pot fi subdivizate în continuare) corespund de fapt valorilor numerice ale numărului de elemente din fiecare regiune. Este posibilă scalarea diagramelor Venn cu două seturi și a unui număr selecționat de diagrame Venn cu trei seturi – vom discuta mai jos provocările legate de realizarea acestui lucru pentru toate cazurile cu trei seturi. Utilizarea scalării poate duce uneori la suprapunerea unor zone prea mici pentru etichete numerice. Figura 2, rândul 1, coloana 1 prezintă o linie de legătură generată prin programare care permite tratarea specială a acestui caz. Este implementată recunoașterea automată a unui număr mare de diagrame Euler, dar acest mod poate fi dezactivat cu ajutorul unui parametru de apel de funcție pentru a trasa în schimb diagrame Venn standard. Figura 2, rândul 1, coloanele 2 și 3 prezintă două exemple de diagrame Euler cu două seturi. Rândurile 2 și 3 prezintă un subset de diagrame Euler cu trei seturi implementate, iar rândul 3 le prezintă pe cele din varianta scalabilă. Observăm că figura 2 este prezentată în alb și negru pentru a evidenția diferențele de compoziție între diagrame, dar parametrii grafici și personalizările utilizate în figura 1 sunt disponibile în totalitate. În timp ce VennDiagram are ca valoare implicită scrierea graficii în fișiere TIFF de înaltă rezoluție, dacă parametrul filename este setat la NULL, obiectul grilă brut poate fi returnat și utilizat în orice mod grafic disponibil în R. Codul pentru a genera toate figurile este prezentat în Fișierul adițional 3, iar un exemplu al tuturor parametrizărilor disponibile este prezentat în Fișierul adițional 4.
Discuție
În timpul dezvoltării pachetului VennDiagram, s-a descoperit că era imposibil să se deseneze diagrame Venn exacte, la scară, cu trei seturi folosind cercuri. Această enigmă este ilustrată în următorul scenariu. Într-un sistem format din două cercuri A și B, distanțele dintre centrele cercurilor, dAB, ar putea fi determinate atâta timp cât sunt cunoscute atât ariile (AA și, respectiv, AB), cât și aria de intersecție (AA ∩ AB). Acest lucru este posibil deoarece, într-un sistem cu două cercuri, o singură AA ∩ AB corespunde unei valori unice pentru dAB. Prin urmare, într-un sistem de trei cercuri A, B și C, dAB, dBC, dAC pot fi calculate atâta timp cât AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC, AB ∩ AC sunt toate cunoscute. Cu toate acestea, dAB, dBC, dAC formează un triunghi unic, ceea ce implică faptul că o diagramă Venn poate fi trasată fără a cunoaște vreodată intersecția globală AA ∩ AB ∩ AC. Cu alte cuvinte, mărimea suprapunerii dintre toate cele trei cercuri nu modifică prezentarea diagramelor Venn la scară – aria rămâne neschimbată chiar dacă unul dintre sisteme are intersecția totală zero (adică AA ∩ AB ∩ AC = 0)! Această enigmă rezultă din alegerea (arbitrară) a cercurilor pentru a reprezenta dimensiunea setului, care reduce gradele de libertate cu unul. Soluțiile unice pot fi identificate folosind elipse sau poligoane pentru a desena diagramele Venn, dar diagramele rezultate ar pierde recunoașterea instantanee și familiaritatea asociate cu diagramele Venn circulare, înfrângând scopul unei afișări convenabile a informațiilor. Diagramele necirculare ar necesita, de asemenea, algoritmi iterativi pentru a calcula pozițiile și dimensiunile formelor, ceea ce ar crește foarte mult sarcina de calcul, așa cum au discutat și alții. În consecință, scalarea diagramelor Venn cu trei seturi este dezactivată în pachetul VennDiagram. În mod similar, diagramele Venn care conțin mai mult de patru seturi nu au fost implementate în pachetul VennDiagram, deoarece devin prea complexe pentru o vizualizare intuitivă.
O atenționare generală atunci când se utilizează diagramele Euler este că, deși reduc complexitatea grafică a unor diagrame Venn, formele lor netradiționale pot fi, de asemenea, mai puțin recognoscibile în unele cazuri. Atunci când sunt prezente zone goale, utilizatorul trebuie să aleagă între familiaritatea diagramelor Venn și acuratețea sporită a diagramelor Euler. Figura 3 ilustrează o situație în care fie o diagramă Venn, fie o diagramă Euler poate fi adecvată în funcție de preferințele utilizatorului.
Pachetul VennDiagram gestionează toate diagramele Euler cu două seturi și majoritatea tuturor diagramelor Euler cu trei seturi imaginabile. Diagramele Euler cu trei seturi care nu au putut fi desenate folosind cercuri sau elipse nu sunt acceptate. De exemplu, o diagramă Euler pentru cazul în care două seturi care nu se intersectează formează al treilea set nu poate fi desenată cu ajutorul cercurilor și elipsei, deși poate fi desenată cu ajutorul poligoanelor. Acest tip de figură nu are o configurație analitică pregătită și ar necesita o ajustare iterativă; nu sunt disponibile diagrame Euler care necesită poligoane, dar sunt disponibile diagrame Venn standard pentru aceste câteva cazuri neacceptate.
După compararea cu alte programe capabile să genereze diagrame Venn (tabelul 1), avantajele pachetului VennDiagram includ:
-
Desenarea de diagrame Euler folosind cercuri și/sau elipse cu două sau trei seturi
-
Oferirea unei mai mari posibilități de personalizare pentru a genera diagrame mai elegante
-
Disponibilitate pe scară largă-.utilizat pe scară largă în mediul statistic R
-
Generarea de fișiere TIFF de înaltă rezoluție care sunt standard în publicații