VennDiagram: un pachet pentru generarea de diagrame Venn și Euler cu grad ridicat de personalizare în R

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.

Figura 1
figura1

Cele patru tipuri de diagrame Venn desenate de pachetul VennDiagram. A) O diagramă Venn cu un singur set care prezintă caracteristici rudimentare personalizabile, cum ar fi dimensiunea fontului etichetei, fața fontului etichetei și umplerea formei. B) O diagramă Venn cu două seturi care prezintă caracteristici mai avansate, cum ar fi scalarea, specificațiile individuale de umplere a formei și plasarea individuală a etichetei de legendă. C) O diagramă Venn cu trei seturi care prezintă un tip diferit de linie de formă („transparent”) și opțiunea „text” de plasare a etichetelor de legendă, în care etichetele de legendă sunt atașate la etichetele de zonă. D) O diagramă Venn cu patru seturi care arată o combinație a tuturor caracteristicilor anterioare, plus posibilitatea de a personaliza titlurile. Codul pentru a genera toate diagramele prezentate aici este inclus în fișierul suplimentar 3.

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.

Figura 2
figura2

Cazuri speciale selectate de diagrame Venn și diagrame Euler desenate de pachetul VennDiagram. Rândul 1, coloana 1: linii trasate automat, personalizabile, care optimizează afișarea zonelor parțiale atunci când zonele parțiale individuale devin prea mici în diagramele Venn cu două seturi. Rândul 1, coloana 2: o diagramă Euler cu două seturi care arată includerea totală a unuia dintre seturi. Rândul 1, coloana 3: o diagramă Euler cu două seturi care prezintă două seturi distincte. Rândul 2, coloana 1: o diagramă Euler cu trei seturi în care un set nu are elemente discrete. Rândul 2, coloana 2: o diagramă Euler cu trei seturi în care unul dintre seturi nu are elemente discrete și este inclus în totalitate într-unul dintre celelalte două seturi. Rândul 2, coloana 3: o diagramă Euler cu trei seturi în care două seturi nu au elemente discrete și sunt incluse într-un al treilea set mai mare. Rândul 3, coloana 1: o diagramă Euler cu trei seturi care prezintă includerea totală a două seturi care sunt distincte de cel de-al treilea set. Rândul 3, coloana 2: o diagramă Euler cu trei seturi în care un set este inclus în totalitate într-un alt set, care la rândul său este inclus în totalitate în cel de-al treilea set. Rândul 3, coloana 2: o diagramă Euler cu trei seturi care prezintă trei seturi distincte. Codul pentru a genera toate diagramele prezentate aici este inclus în Fișierul adițional 3.

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.

Figura 3
figura3

O comparație alăturată a unei diagrame Euler și a unei diagrame Venn pentru aceleași seturi ipotetice. A) Diagrama Euler arată numai ariile care nu sunt egale cu zero și, prin urmare, poate fi mai precisă din punct de vedere grafic. B) Diagrama Venn arată aria inexistentă ca o arie cu conținut zero. Deși acest lucru nu este precis din punct de vedere grafic, păstrează caracterul recognoscibil al unei diagrame Venn.

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

Tabelul 1 O comparație a caracteristicilor diferitelor programe capabile să genereze diagrame Venn.

Lasă un răspuns

Adresa ta de email nu va fi publicată.