2017-10-14 183 views
3

我是新來的R,所以我還沒有想出如何將相同的變化應用到多個數據幀並從每個結果數據幀進行繪圖。我通過在R markdown文件中逐個插入每個輸入csv來完成此操作。scale_fill_distiller ggplot圖例缺失的一些數據幀,但不是其他人

我從輸入文件中的相同起始格式創建了5個數據框(僅顯示3個),使用相同的一組操作來獲得一個「繪圖表」數據框,看起來像這樣(只有這裏列出的前幾行)。只有 「STAT」 而異:

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

啊非常感謝!我嘗試刪除日誌轉換(trans =「log10」),然後它不需要中斷來顯示圖例。不知道我明白爲什麼,但很高興解決。 – user2662391

相關問題