2017-10-14 7 views
3

Je ne connais pas encore R, je n'ai donc pas compris comment appliquer les mêmes modifications à plusieurs trames de données et tracer à partir de chaque trame de données résultante. Je l'ai fait en branchant chaque entrée csv un par un dans un fichier de démarque R.scale_fill_distiller Légende ggplot manquante pour certaines trames de données mais pas pour d'autres

J'ai créé 5 blocs de données (seulement 3 ici) à partir du même format de départ dans le fichier d'entrée, en utilisant le même ensemble de manipulations pour obtenir des trames de données "plottables" (seulement les premières lignes présentées ici). Seul le "Stat" varie:

DF1 HAtype:

Stat Segment NullbyObs id stars 
49 H4 HA 0.297083314 1 *** 
25 H13 HA 0.09558552 2 *** 
57 H5 HA 0.150072798 3 *** 
9 H10 HA 0.184111297 4 *** 
33 H2 HA 0.182582378 5 *** 
81 H9 HA 0.341334025 6 *** 
73 H7 HA 0.256536424 7 *** 
65 H6 HA 0.260052443 8 *** 
41 H3 HA 0.504939556 9 ** 
1 H1 HA 0.260205358 10 *** 
17 H11 HA 0.503464461 11 ** 
56 H4 PB2 0.184828306 12 *** 
32 H13 PB2 0.298094661 13 ** 
64 H5 PB2 0.199737211 14 *** 

Df2-Saison:

Stat Segment NullbyObs id stars 
25 spring migration HA 0.309504658 1 *** 
17 overwintering HA 0.423053354 2 * 
9 breeding HA 0.712614687 3 . 
1 autumn migration HA 0.586144734 4 . 
32 spring migration PB2 0.318294644 5 *** 
24 overwintering PB2 0.450508305 6 *** 
16 breeding PB2 0.636836392 7  

Df3-HostType:

Stat Segment NullbyObs id stars 
17 OD HA 0.447867405 1 * 
25 YAG HA 0.192755193 2 *** 
9 MD HA 0.337331563 3 ** 
1 BMG HA 0.42653249 4 * 
24 OD PB2 0.271704769 5 *** 
32 YAG PB2 0.260490477 6 *** 
16 MD PB2 0.446735462 7 ** 

J'utiliser ce code pour tracer à partir de chaque trame de données:

plot <- ggplot(data = plotdata, 
     aes(x = Segment, y = Stat, fill = NullbyObs)) + 
     geom_tile() + 
     scale_fill_distiller(palette = "RdYlBu", trans = "log10") + 
     labs(y=NULL, x=NULL, fill="Null/Obs") + 
     geom_text(aes(label=stars), color="black", size=4) + 
     coord_equal() 

plot 

Pourquoi la légende de l'intrigue est-elle affichée pour Df1-HAtype, mais est absente de l'intrigue pour Df2-Season et Df3-HostType ???

+0

Pour moi, cela semble un bug, donc j'ai posté un problème: [Pas de légende avec trans = log10 pour certaines valeurs de remplissage/couleur] (ht tps: //github.com/tidyverse/ggplot2/issues/2295) – Henrik

Répondre

2

Ajouter breaks=seq(0,1,0.1) à l'intérieur scale_fill_distiller

plotdata <- Df2_Season 
p <- ggplot(data = plotdata , aes(x = Segment, y = Stat, fill = NullbyObs)) + 
    geom_tile() + 
    scale_fill_distiller(palette = "RdYlBu", trans = "log10", 
          breaks=seq(0,1,0.1), labels=seq(0,1,0.1)) + 
    labs(y=NULL, x=NULL, fill="Null/Obs") + 
    geom_text(aes(label=stars), color="black", size=4) + 
    coord_equal() 
p 

Df2_Season enter image description here

Df3_HostType enter image description here

+0

Ah merci beaucoup! J'ai essayé d'enlever la transformation de journal (trans = "log10"), et alors il n'a pas besoin des ruptures pour montrer la légende. Je ne suis pas sûr de comprendre pourquoi mais heureux de l'avoir résolu. – user2662391