2017-10-14 40 views
3

私はRに慣れているので、同じ変更を複数のデータフレームに適用し、各結果のデータフレームからプロットする方法を理解していません。私はこれを、Rのmarkdownファイルに1つずつ入力csvを差し込むことでやった。scale_fill_distiller ggplotの凡例は一部のデータフレームにはありません

入力ファイルで同じ開始フォーマットから5つのデータフレーム(ここでは3つしか表示されません)を作成し、同じような操作を使用して "plottable"データフレームを取得しました)。唯一の "スタット" は異なります

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シーズン:

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 ** 

各データフレームから:

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 

Df1-HAtypeに対してプロットの凡例が表示されていますが、Df2-SeasonとDf3-HostTypeのプロットには紛失しているのはなぜですか?

+0

を追加します。[トランスではありません凡例を=特定の塗りつぶし/色の値に対するlog10](ht tps://github.com/tidyverse/ggplot2/issues/2295) – Henrik

答えて

2

これはバグに見えるので、私は問題投稿私にbreaks=seq(0,1,0.1)

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

ああありがとうv!私はログ変換(trans = "log10")を削除しようとしました。そして、凡例を表示するためにブレークは必要ありません。なぜ私はそれが解決してうれしいがわかりません。 – user2662391

関連する問題