VennDiagram: paketti erittäin mukautettavien Venn- ja Euler-diagrammien tuottamiseen R:ssä

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.

Kuvio 1
kuvio1

VennDiagram-paketin piirtämiä neljää erilaista Venn-diagrammia. A) Yhden sarjan Venn-diagrammi, jossa näkyvät alkeelliset muokattavat ominaisuudet, kuten etiketin fonttikoko, etiketin kirjasintyyppi ja muototäyttö. B) Kaksijoukkoinen Venn-diagrammi, jossa näkyy edistyneempiä ominaisuuksia, kuten skaalaus, yksilölliset shape-fill-määritykset ja yksilöllinen otsikkotarran sijoittelu. C) Kolmen sarjan Venn-diagrammi, jossa näkyy erilainen muotoviivatyyppi (”läpinäkyvä”) ja ”teksti”-vaihtoehto otsikkotarrojen sijoittelussa, jossa otsikkotarrat on kiinnitetty aluetarroihin. D) Neljäjoukkoinen Venn-diagrammi, jossa näkyy kaikkien edellisten ominaisuuksien yhdistelmä sekä mahdollisuus mukauttaa otsikoita. Koodi kaikkien tässä esitettyjen kaavioiden luomiseksi on lisätiedostossa 3.

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.

Kuvio 2
kuvio2

Valikoituja Venn-diagrammin erikoistapauksia ja VennDiagram-paketin piirtämiä Euler-diagrammeja. Rivi 1, sarake 1: automaattisesti piirretyt, mukautettavat viivat, jotka optimoivat osa-alueiden näyttämisen, kun yksittäisistä osa-alueista tulee liian pieniä kaksijoukkoisissa Venn-diagrammeissa. Rivi 1, sarake 2: kahden joukon Euler-diagrammi, jossa näkyy yhden joukon täydellinen sisällyttäminen. Rivi 1, sarake 3: kahden joukon Eulerin diagrammi, jossa näkyy kaksi erillistä joukkoa. Rivi 2, sarake 1: Kolmen joukon Eulerin diagrammi, jossa yhdellä joukolla ei ole erillisiä elementtejä. Rivi 2, sarake 2: Kolmen joukon Euler-diagrammi, jossa yksi joukko, jolla ei ole erillisiä elementtejä, sisältyy kokonaan johonkin kahdesta muusta joukosta. Rivi 2, sarake 3: Kolmen joukon Eulerin diagrammi, jossa kahdella joukolla ei ole diskreettejä elementtejä ja ne sisältyvät suurempaan kolmanteen joukkoon. Rivi 3, sarake 1: Kolmen joukon Euler-diagrammi, jossa kaksi joukkoa, jotka ovat erillisiä kolmannesta joukosta, sisältyvät kokonaan. Rivi 3, sarake 2: Kolmen joukon Eulerin diagrammi, jossa yksi joukko sisältyy kokonaan toiseen joukkoon, joka puolestaan sisältyy kokonaan kolmanteen joukkoon. Rivi 3, sarake 2: Kolmen joukon Eulerin diagrammi, jossa on kolme erillistä joukkoa. Koodi kaikkien tässä esitettyjen diagrammien luomiseksi on lisätiedostossa 3.

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.

Kuva 3
kuva3

Euler-diagrammin ja Euler-diagrammin rinnakkaisvertailu samojen hypoteettisten joukkojen osalta. A) Euler-diagrammi näyttää vain nollasta poikkeavat alueet ja voi siksi olla graafisesti tarkempi. B) Venn-diagrammi näyttää olemattoman alueen nollasisältöisenä alueena. Vaikka tämä ei ole graafisesti tarkkaa, se säilyttää Venn-diagrammin tunnistettavuuden.

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

Taulukko 1 Vertailu Venn-diagrammien tuottamiseen kykenevien eri ohjelmien ominaisuuksista.

Vastaa

Sähköpostiosoitettasi ei julkaista.