2017-07-27 4 views
0

Salut, je voudrais pouvoir attribuer manuellement les couleurs. Par exempleDéfinir manuellement la couleur pour les diagrammes venn dans le package Vennerable

library(Vennerable) 
data(StemCell) 
    w <- Venn(Sets=StemCell[1:2]) 
    plot(w, type="squares") 

produit enter image description here

mais ce que je voudrais faire est de changer manaully la couleur, OCT4 = rouge, chevauchement = brun et Sox2 = vert? Est-ce possible avec le paquet actuel? ? J'ai essayé de paramétrer gpar mais ça n'a pas l'air de faire quoi que ce soit en particulier.

merci! A

Répondre

2

Une partie de cela est documenté dans la vignette Vennerable (vignette ("Venn")), section 2.3 Paramètres graphiques, et la page de manuel VennThemes (? VennThemes)

La personnalisation que vous aimeriez avoir vous oblige à utiliser compute.Venn() supplémentaire à Venn(), pour calculer un diagramme approprié que vous pouvez ensuite personnaliser en utilisant VennThemes().

Le code pour votre personnalisation requis ressemble à ceci:

w <- compute.Venn(Venn(Sets=StemCell[1:2]), type = "squares") 
gp <- VennThemes(w) 
gp[["Face"]][["11"]]$fill <- "brown" 
gp[["Face"]][["01"]]$fill <- "green" 
gp[["Face"]][["10"]]$fill <- "red" 
plot(w, gp = gp) 

Customized Venn plot

Vous pouvez regarder l'objet « gp », qui contient tous les paramètres de visualisation, comme remplissage du Venn qui est modifié dans le code ci-dessus, mais aussi la couleur de la ligne, du texte, etc. Amusez vous à jouer avec ça.

d'ailleurs, dans la vignette, ils font usage de paquet de réseau

library(grid) 
grid.newpage() 

pour essuyer l'ardoise. Sinon, vous complotez Venn en haut du diagramme de Venn.

+0

ce grand. Ça marche! Savez-vous s'il est possible de réutiliser le thème une fois qu'il a été créé. La seule chose que je peux penser est peut-être d'envelopper cette fonction et de la réutiliser. Quoi qu'il en soit, merci. – Ahdee

+0

Pas sûr à ce sujet. Puisque gp dépend de l'objet venn créé par compute.Venn (Venn ((...), je suppose que vous ne pouvez pas réappliquer gp sur un objet venn donné sauf si c'est très similaire (peut-être des nombres légèrement différents, mais sinon le même), et même alors je ne suis pas sûr, gp par exemple contient combien de cercles et de chevauchements l'objet se compose.Vérifiez simplement le contenu de gp pour voir ce qu'il contient, et essayez simplement – 4rj4n

+0

merci encore. en enveloppant ceci dans une fonction simple de sorte que tout ce que j'avais à faire était de fournir deux vecteurs. – Ahdee