Nästan alla grafiska alternativ i VennDiagram-paketet har parametriserats och gjorts anpassningsbara. Standardvärden valdes för att generera vettiga diagram, så i enkla fall krävs inte en hög nivå av anpassning. Figur 1 belyser mångfalden av tillgängliga parametriseringar. Det finns fyra stora grupper av grafiska parametrar: shape-fill, shape-line, labels och titles. Shape-fill avser färgerna inom varje cirkel eller ellips. Alla färger som finns tillgängliga i R-miljön kan användas, och alfa-blending kan justeras per form. Shape-lines är de linjer som omger varje cirkel eller ellips. De kan vara helt frånvarande (figur 1C), heldragna (figurerna 1A och 1B) eller någon annan tillgänglig R-linjetyp (figur 1D). Deras färg kan ändras och varje form kan ha en separat uppsättning parametrar. Etiketter hänvisar både till de rubriker som beskriver varje cirkel eller ellips och till siffrorna i dem. Även dessa kan anpassas när det gäller färg, typsnittstyp och typsnittsstorlek med alla tillgängliga R-parametrar. Positionerna för etiketterna kan också anpassas. Titlar, som inkluderar huvudtitel och undertitel som demonstreras i figur 1D, kan också anpassas på samma sätt som etiketter.
Bortom dessa specifika grafiska element erbjuder VennDiagram också många allmänna alternativ, t.ex. skalning, rotation eller inversion av diagram. Skalning av diagrammen genomfördes med målet att visa Venn-diagram där de grafiska storlekarna på de partiella områdena (områden som avgränsas på alla sidor av kurvor och som inte kan delas in ytterligare) faktiskt motsvarar de numeriska värdena på antalet element inom varje område. Skalning av Venn-diagram med två uppsättningar och ett utvalt antal Venn-diagram med tre uppsättningar är möjlig – vi diskuterar nedan utmaningarna med att göra detta möjligt för alla fall med tre uppsättningar. Användningen av skalning kan ibland leda till att överlappande områden är för små för numeriska etiketter. Figur 2, rad 1, kolumn 1 visar en programmatiskt genererad anslutningslinje som gör det möjligt att hantera detta fall på ett speciellt sätt. Automatisk igenkänning av ett stort antal Euler-diagram är implementerad, men detta läge kan avaktiveras med en parameter för funktionsanrop för att i stället plotta vanliga Venn-diagram. Figur 2, rad 1, kolumnerna 2 och 3 visar två exempel på Euler-diagram med två uppsättningar. Raderna 2 och 3 visar en delmängd av de implementerade Euler-diagrammen med tre uppsättningar, där rad 3 visar de skalbara varianterna. Vi noterar att figur 2 presenteras i svartvitt för att belysa kompositionsskillnader mellan diagrammen, men de grafiska parametrar och anpassningar som används i figur 1 är fullt tillgängliga. VennDiagram skriver som standard grafik till högupplösta TIFF-filer, men om filnamnsparametern sätts till NULL kan det råa rutnätobjektet returneras och användas i alla grafiklägen som finns tillgängliga i R. Koden för att generera alla figurer finns i Additional File 3 och ett exempel på alla tillgängliga parameteriseringar visas i Additional File 4.
Diskussion
Under utvecklingen av paketet VennDiagram upptäcktes det att det var omöjligt att rita korrekta, skalenliga Venndiagram med tre uppsättningar med hjälp av cirklar. Denna gåta illustreras i följande scenario. I ett system med två cirklar A och B kan avstånden mellan cirklarnas centra, dAB, bestämmas så länge som areorna (AA respektive AB) och skärningsområdet (AA ∩ AB) båda är kända. Detta är möjligt eftersom ett enda AA ∩ AB i ett system med två cirklar motsvarar ett unikt värde för dAB. Därför kan ett system med tre cirklar A, B och C, dAB, dBC, dAC beräknas så länge AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC, AB ∩ AC alla är kända. dAB, dBC, dAC bildar dock en unik triangel, vilket innebär att ett Venn-diagram kan ritas utan att man någonsin känner till den totala skärningspunkten AA ∩ AB ∩ AC. Med andra ord ändrar inte storleken på överlappningen mellan alla tre cirklarna presentationen av skalade Venn-diagram – arean är oförändrad även om ett system har noll total skärningspunkt (dvs. AA ∩ AB ∩ AC = 0)! Denna gåta beror på det (godtyckliga) valet av cirklar för att representera mängdstorlek, vilket minskar frihetsgraderna med en. Unika lösningar kan identifieras genom att använda ellipser eller polygoner för att rita Venn-diagrammen, men de resulterande diagrammen skulle förlora den omedelbara igenkännbarhet och förtrogenhet som förknippas med cirkulära Venn-diagram, vilket motverkar poängen med en bekväm visning av information. Icke-cirkulära diagram skulle också kräva iterativa algoritmer för att beräkna formernas positioner och storlekar, vilket skulle öka den databehandlingsmässiga bördan avsevärt, vilket har diskuterats av andra . Därför är skalning av Venndiagram med tre uppsättningar inaktiverad i paketet VennDiagram. På samma sätt har Venndiagram som innehåller mer än fyra uppsättningar inte implementerats i VennDiagram-paketet eftersom de blir för komplexa för en intuitiv visualisering.
En allmän varning vid användning av Euler-diagram är att även om de reducerar den grafiska komplexiteten hos vissa Venn-diagram, kan deras otraditionella former också vara mindre igenkännliga i vissa fall. När det finns tomma områden måste användaren välja mellan Venn-diagrammens förtrogenhet och Euler-diagrammens ökade noggrannhet. Figur 3 illustrerar en situation där antingen ett Venn- eller ett Euler-diagram kan vara lämpligt beroende på användarens preferenser.
Paketet VennDiagram hanterar alla Euler-diagram med två uppsättningar och majoriteten av alla tänkbara Euler-diagram med tre uppsättningar. Euler-diagram med tre uppsättningar som inte kan ritas med hjälp av cirklar eller ellipser stöds inte. Exempelvis kan ett Euler-diagram för det fall där två icke-skärande mängder utgör den tredje mängden inte ritas med hjälp av cirklar och ellipser, även om det kan ritas med hjälp av polygoner. Denna typ av figur saknar en färdig analytisk layout och skulle kräva iterativ anpassning. Inga Euler-diagram som kräver polygoner finns tillgängliga, men vanliga Venn-diagram finns tillgängliga för dessa få fall som inte stöds.
Efter en jämförelse med andra program som kan generera Venndiagram (tabell 1), kan man konstatera att fördelarna med paketet VennDiagram är följande:
-
Ritning av Euler-diagram med hjälp av cirklar och/eller ellipser med två eller tre uppsättningar
-
Genererar större anpassningsmöjligheter för att generera mer eleganta diagram
-
Tillgänglighet i det allmänt förekommande-R statistisk miljö
-
Genererar högupplösta TIFF-filer som är standard i publikationer