Lähes kaikki VennDiagram-paketin graafiset optiot on parametrisoitu ja tehty mukautettaviksi. Oletusarvot valittiin järkevien diagrammien tuottamiseksi, joten yksinkertaisissa tapauksissa korkeaa räätälöinnin tasoa ei tarvita. Kuvassa 1 korostetaan käytettävissä olevien parametrointien moninaisuutta. Suuria graafisia parametriryhmiä on neljä: shape-fill, shape-line, labels ja titles. Shape-fill viittaa kunkin ympyrän tai ellipsin sisällä oleviin väreihin. Kaikkia R-ympäristössä käytettävissä olevia värejä voidaan käyttää, ja alfasävytystä voidaan säätää muotokohtaisesti. Shape-linjat ovat viivoja, jotka ympäröivät kutakin ympyrää tai ellipsiä. Ne voivat puuttua kokonaan (kuva 1C), olla yhtenäisiä (kuvat 1A ja 1B) tai mitä tahansa muuta saatavilla olevaa R-viivatyyppiä (kuva 1D). Niiden väriä voidaan muuttaa, ja kullakin muodolla voi olla omat parametrit. Merkinnät viittaavat sekä kutakin ympyrää tai ellipsiä kuvaaviin otsikoihin että niiden sisällä oleviin numeroihin. Niitäkin voidaan mukauttaa värin, kirjasintyypin ja fonttikoon osalta millä tahansa käytettävissä olevalla R-parametrilla. Myös kuvatekstien merkintöjen sijainteja voidaan mukauttaa. Otsikoita, jotka sisältävät pääotsikon ja alaotsikon, kuten kuvassa 1D on esitetty, voidaan myös mukauttaa samalla tavalla kuin tarroja.
Näiden erityisten graafisten elementtien lisäksi VennDiagram tarjoaa myös monia yleisiä vaihtoehtoja, kuten kaavioiden skaalaus, kiertäminen tai kääntäminen. Diagrammin skaalaus toteutettiin tavoitteena näyttää Venn-diagrammeja, joissa osa-alueiden (alueet, jotka on rajattu kaikilta sivuilta käyrillä ja joita ei voida jakaa edelleen) graafiset koot todella vastaavat kunkin alueen sisällä olevien elementtien lukumäärän numeerisia arvoja. Kahden joukon Venn-diagrammien ja joidenkin kolmen joukon Venn-diagrammien skaalaus on mahdollista – keskustelemme jäljempänä haasteista, jotka liittyvät tämän mahdollistamiseen kaikkien kolmen joukon tapausten osalta. Skaalaus voi joskus johtaa siihen, että päällekkäiset alueet ovat liian pieniä numeerisille merkinnöille. Kuvan 2 rivin 1 sarakkeessa 1 on ohjelmallisesti luotu yhdysviiva, joka mahdollistaa tämän tapauksen erityiskäsittelyn. Suuri määrä Euler-diagrammeja tunnistetaan automaattisesti, mutta tämä tila voidaan poistaa käytöstä funktiokutsuparametrin avulla, jolloin sen sijaan voidaan piirtää tavallisia Venn-diagrammeja. Kuvan 2 rivin 1 sarakkeissa 2 ja 3 on kaksi esimerkkiä kahden joukon Euler-diagrammeista. Riveillä 2 ja 3 näytetään osajoukko toteutetuista kolmen sarjan Euler-diagrammeista, ja rivillä 3 näytetään skaalautuvan lajin diagrammeja. Huomaamme, että kuva 2 on esitetty mustavalkoisena diagrammien koostumuserojen korostamiseksi, mutta kuvassa 1 käytetyt graafiset parametrit ja mukautukset ovat täysin käytettävissä. Vaikka VennDiagram kirjoittaa grafiikan oletusarvoisesti korkearesoluutioisiin TIFF-tiedostoihin, jos filename-parametrin arvoksi asetetaan NULL, raakaverkko-objekti voidaan palauttaa ja sitä voidaan käyttää missä tahansa R:n käytettävissä olevassa grafiikkatilassa. Kaikkien kuvioiden tuottamiseen tarvittava koodi on esitetty Lisätiedostossa 3, ja esimerkki kaikista käytettävissä olevista parametrisoinneista on esitetty Lisätiedostossa 4.
Keskustelu
VennDiagram-pakettia kehitettäessä huomattiin, että oli mahdotonta piirtää tarkkoja, skaalattuja Venn-diagrammeja, joissa oli kolme joukkoa, ympyröitä käyttäen. Tätä pulmaa havainnollistaa seuraava skenaario. Kahden ympyrän A ja B muodostamassa systeemissä ympyröiden keskipisteiden väliset etäisyydet dAB voidaan määrittää, kunhan pinta-alat (AA ja AB) ja leikkauspinta-ala (AA ∩ AB) tunnetaan molemmat. Tämä on mahdollista, koska kahden ympyrän järjestelmässä yksi AA ∩ AB vastaa dAB:n yksikäsitteistä arvoa. Näin ollen kolmen ympyrän A, B ja C järjestelmässä dAB, dBC ja dAC voidaan laskea, kunhan AA, AB, AC, AA ∩ AB, AA ∩ AC, AB ∩ AC tunnetaan. Kuitenkin dAB, dBC, dAC muodostavat ainutlaatuisen kolmion, mikä tarkoittaa, että Venn-diagrammi voidaan piirtää tuntematta koskaan koko leikkauspistettä AA ∩ AB ∩ AC. Toisin sanoen kaikkien kolmen ympyrän päällekkäisyyden koko ei muuta skaalattujen Venn-diagrammien esitystapaa – pinta-ala pysyy muuttumattomana, vaikka yhdellä systeemillä olisi nolla kokonaisristeymää (ts. AA ∩ AB ∩ AC = 0)! Tämä pulma johtuu (mielivaltaisesta) ympyröiden valinnasta joukon koon esittämiseksi, mikä vähentää vapausasteita yhdellä. Yksikäsitteiset ratkaisut voidaan tunnistaa käyttämällä ellipsejä tai monikulmioita Venn-diagrammien piirtämiseen, mutta tuloksena olevat diagrammit menettäisivät ympyränmuotoisiin Venn-diagrammeihin liittyvän välittömän tunnistettavuuden ja tuttuuden, mikä kumoaa tiedon kätevän esittämisen tarkoituksen. Muut kuin ympyränmuotoiset kaaviot edellyttäisivät myös iteratiivisia algoritmeja muotojen sijainnin ja koon laskemiseksi, mikä lisäisi huomattavasti laskentataakkaa, kuten muutkin ovat todenneet. Tämän vuoksi kolmen sarjan Venn-diagrammien skaalaus on poistettu käytöstä VennDiagram-paketissa. Vastaavasti yli neljä joukkoa sisältäviä Venn-diagrammeja ei ole toteutettu VennDiagram-paketissa, koska niistä tulee liian monimutkaisia intuitiivisen visualisoinnin kannalta.
Yleinen varoitus Euler-diagrammeja käytettäessä on se, että vaikka ne vähentävät joidenkin Venn-diagrammien graafista monimutkaisuutta, niiden ei-perinteiset muodot voivat myös olla joissain tapauksissa huonommin tunnistettavissa. Kun esiintyy tyhjiä alueita, käyttäjän on valittava Venn-diagrammien tuttuuden ja Euler-diagrammien suuremman tarkkuuden välillä. Kuva 3 havainnollistaa tilannetta, jossa joko Venn- tai Euler-diagrammi voi olla sopiva käyttäjän mieltymysten mukaan.
VennDiagram-paketti käsittelee kaikkia kahden joukon Eulerin-diagrammeja ja suurinta osaa kaikista ajateltavissa olevista kolmen joukon Eulerin-diagrammeista. Kolmen joukon Euler-diagrammeja, joita ei voida piirtää ympyröillä tai ellipseillä, ei tueta. Esimerkiksi Eulerin diagrammia, jossa kaksi ei-risteävää joukkoa muodostaa kolmannen joukon, ei voida piirtää ympyröillä ja ellipseillä, vaikka se voidaan piirtää monikulmioilla. Tämäntyyppiselle kuviolle ei ole valmista analyyttistä asettelua, ja se vaatisi iteratiivista sovittamista; monikulmioita vaativia Euler-diagrammeja ei ole saatavilla, mutta tavanomaisia Venn-diagrammeja on saatavilla näille harvoille tukemattomille tapauksille.
Vertailtuamme muihin Venn-diagrammien tuottamiseen kykeneviin ohjelmiin (taulukko 1) VennDiagram-paketin etuja ovat mm. seuraavat:
-
Eulerin diagrammien piirtäminen käyttäen ympyröitä ja/tai ellipsejä kahdella tai kolmella joukolla
-
Tarjoaa paremman muokattavuuden tyylikkäämpien diagrammien luomiseksi
-
Saatavuus laajalti-käytetyssä R-tilastoympäristössä
-
Tuottaa korkearesoluutioisia TIFF-tiedostoja, jotka ovat vakiona julkaisuissa