Bijna alle grafische opties in het VennDiagram pakket zijn geparametriseerd en aanpasbaar gemaakt. Standaard waarden werden gekozen om zinnige diagrammen te genereren, zodat in eenvoudige gevallen een hoog niveau van aanpassing niet nodig is. Figuur 1 toont de diversiteit van de beschikbare parametriseringen. Er zijn vier grote groepen grafische parameters: vorm-vulling, vorm-lijn, labels en titels. De vormvulling verwijst naar de kleuren binnen elke cirkel of ellips. Alle kleuren die beschikbaar zijn in de R-omgeving kunnen worden gebruikt, en alfa-blending kan per vorm worden aangepast. Vorm-lijnen zijn de lijnen die elke cirkel of ellips omgeven. Ze kunnen volledig afwezig zijn (figuur 1C), effen (figuren 1A en 1B), of van elk ander beschikbaar R lijntype (figuur 1D). Hun kleur kan veranderd worden, en elke vorm kan een aparte set parameters hebben. Labels verwijzen zowel naar de onderschriften die elke cirkel of ellips beschrijven als naar de getallen erin. Ook deze kunnen worden aangepast wat betreft kleur, lettertype en -grootte met elke beschikbare R-parameter. De positie van bijschriften kan ook worden aangepast. Titels, die de hoofdtitel en de ondertitel omvatten, zoals getoond in figuur 1D, kunnen op dezelfde manier worden aangepast als labels.
Naast deze specifieke grafische elementen, biedt VennDiagram ook vele algemene opties, zoals het schalen, roteren of inverteren van diagrammen. Het schalen van diagrammen is geïmplementeerd met het doel Venn-diagrammen weer te geven waarbij de grafische afmetingen van de deelgebieden (gebieden die aan alle zijden begrensd zijn door krommen en die niet verder kunnen worden onderverdeeld) in feite overeenkomen met de numerieke waarden van het aantal elementen binnen elk gebied. Het schalen van twee-reeks Venn-diagrammen en een select aantal drie-reeks Venn-diagrammen is mogelijk – we bespreken hieronder de uitdagingen om dit mogelijk te maken voor alle drie-reeks gevallen. Het gebruik van schaalvergroting kan er soms toe leiden dat overlappende gebieden te klein zijn voor numerieke labels. Figuur 2, rij 1, kolom 1 toont een programmatisch gegenereerde verbindingslijn die een speciale behandeling van dit geval mogelijk maakt. Automatische herkenning van een groot aantal Eulerdiagrammen is geïmplementeerd, maar deze modus kan worden uitgeschakeld met een functie-aanroep parameter om in plaats daarvan standaard Venn-diagrammen te plotten. Figuur 2, rij 1, kolommen 2 en 3 tonen twee voorbeelden van Euler-diagrammen met twee reeksen. Rij 2 en 3 tonen een subset van geïmplementeerde drie-reeks Eulerdiagrammen, waarbij rij 3 die van de schaalbare variëteit toont. We merken op dat figuur 2 in zwart-wit is weergegeven om de verschillen in samenstelling tussen de diagrammen te benadrukken, maar de grafische parameters en aanpassingen die in figuur 1 zijn gebruikt zijn volledig beschikbaar. Hoewel VennDiagram standaard de grafieken wegschrijft naar hoge-resolutie TIFF bestanden, kan, als de bestandsnaam parameter op NULL wordt gezet, het ruwe rasterobject worden teruggestuurd en gebruikt worden in elke grafische modus die in R beschikbaar is. De code om alle figuren te genereren wordt gegeven in Additional File 3 en een voorbeeld van alle beschikbare parameterisaties wordt getoond in Additional File 4.
Discussie
Tijdens de ontwikkeling van het VennDiagram-pakket ontdekte men dat het onmogelijk was om nauwkeurige, geschaalde Venn-diagrammen met drie verzamelingen te tekenen met behulp van cirkels. Dit raadsel wordt geïllustreerd in het volgende scenario. In een systeem van twee cirkels A en B kunnen de afstanden tussen de middelpunten van de cirkels, dAB, worden bepaald zolang de oppervlakten (respectievelijk AA en AB) en het snijvlak (AA ∩ AB) beide bekend zijn. Dit is mogelijk omdat in een systeem met twee cirkels een enkele AA ∩ AB overeenkomt met een unieke waarde voor dAB. Daarom zouden in een stelsel van drie cirkels A, B en C, dAB, dBC, dAC kunnen worden berekend zolang AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC alle bekend zijn. Echter, dAB, dBC, dAC vormen een unieke driehoek, wat impliceert dat een Venn-diagram kan worden getekend zonder ooit het totale snijpunt AA ∩ AB ∩ AC te kennen. Met andere woorden, de grootte van de overlapping tussen de drie cirkels verandert niets aan de presentatie van geschaalde Venn diagrammen — de oppervlakte blijft onveranderd, zelfs als één systeem een totaal snijpunt van nul heeft (d.w.z. AA ∩ AB ∩ AC = 0)! Dit raadsel is het gevolg van de (arbitraire) keuze van cirkels om de grootte van de verzameling weer te geven, waardoor de vrijheidsgraden met één worden verminderd. Unieke oplossingen kunnen worden geïdentificeerd door ellipsen of veelhoeken te gebruiken om Venn-diagrammen te tekenen, maar de resulterende diagrammen zouden de onmiddellijke herkenbaarheid en vertrouwdheid verliezen die geassocieerd wordt met cirkelvormige Venn-diagrammen, waarmee het punt van een handige weergave van informatie teniet wordt gedaan. Niet-cirkelvormige diagrammen zouden ook iteratieve algoritmen vereisen om de posities en groottes van de vormen te berekenen, waardoor de computationele lasten sterk zouden toenemen, zoals door anderen is besproken. Daarom is het schalen van Venn-diagrammen met drie sets uitgeschakeld in het VennDiagram pakket. Ook Venn diagrammen met meer dan vier sets zijn niet geïmplementeerd in het VennDiagram pakket omdat ze te complex worden voor intuïtieve visualisatie.
Een algemeen voorbehoud bij het gebruik van Euler diagrammen is dat hoewel ze de grafische complexiteit van sommige Venn diagrammen verminderen, hun niet-traditionele vormen ook minder herkenbaar kunnen zijn in sommige gevallen. Wanneer lege gebieden aanwezig zijn, moet de gebruiker kiezen tussen de vertrouwdheid van Venn-diagrammen en de grotere nauwkeurigheid van Eulerdiagrammen. Figuur 3 illustreert een situatie waarin ofwel een Venn-diagram ofwel een Eulerdiagram geschikt kan zijn, afhankelijk van de voorkeuren van de gebruiker.
Het VennDiagram-pakket behandelt alle Euler-diagrammen van twee verzamelingen en de meerderheid van alle denkbare Euler-diagrammen van drie verzamelingen. Drie-reeks Eulerdiagrammen die niet met cirkels of ellipsen kunnen worden getekend, worden niet ondersteund. Bijvoorbeeld, een Euler diagram voor het geval waar twee niet-doorsnijdende verzamelingen de derde verzameling vormen kan niet getekend worden met cirkels en ellipsen, maar wel met polygonen. Dit type figuur heeft geen kant-en-klare analytische lay-out en zou iteratief passen vereisen; er zijn geen veelhoek-vereisende Euler diagrammen beschikbaar, maar standaard Venn diagrammen zijn beschikbaar voor deze paar niet-ondersteunde gevallen.
Na vergelijking met andere programma’s die Venn-diagrammen kunnen genereren (Tabel 1), zijn de voordelen van het VennDiagram-pakket onder meer:
-
Tekenen van Euler diagrammen met behulp van cirkels en/of ellipsen met twee of drie sets
-
Bieden van een grotere aanpasbaarheid om elegantere diagrammen te genereren
-
Beschikbaarheid in de wijd-gebruikte statistische omgeving
-
Het genereren van hoge resolutie TIFF-bestanden die standaard worden gebruikt in publicaties