[問題] ggplot2 有關scale_fill_或Legends

看板R_Language作者 (固執又暴燥)時間8年前 (2017/06/07 15:37), 8年前編輯推噓0(0020)
留言20則, 5人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]:新手(沒寫過程式,R 是我的第一次) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 [程式範例]: 我想改 圖的Legends的文字內容 用google找到這教學 http://www.cookbook-r.com/Graphs/Legends_(ggplot2)/ 其中的一段 http://ideone.com/g0dEeN http://i.imgur.com/tWPaACT.jpg
我想改標示上的文字也就是legend.text http://i.imgur.com/jyAuJmW.jpg
Q1 為何範例 有時用scale_fill_manual 有時用scale_fill_discrete差別在哪? Q2 我的程式碼 http://ideone.com/JB8Vjw 我需要畫的是 geom_density 有很多行被註解是因為在網路上找了很多解法 試都沒有用 沒註解的 就是我現階段妥協的畫法 http://i.imgur.com/J3NWTRi.jpg
[環境敘述]: R version 3.3.3 (2017-03-06) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) [關鍵字]: Legends ggplot2 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.135.58.147 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1496821029.A.562.html ※ 編輯: BUQ (140.135.58.154), 06/07/2017 15:39:57 ※ 編輯: BUQ (140.135.58.147), 06/07/2017 15:43:51 ※ 編輯: BUQ (140.135.58.154), 06/07/2017 15:45:17

06/07 16:03, , 1F
1. 兩者差別在於discrete是自動為離散變數分配顏色,manual
06/07 16:03, 1F

06/07 16:03, , 2F
是手動指定顏色
06/07 16:03, 2F

06/07 16:03, , 3F
2. 因為你的寫法是各自畫三個geom_density,所以scale_fill
06/07 16:03, 3F

06/07 16:03, , 4F
_那些沒辦法用,正確做法應該是把那三個欄位的資料合成同一
06/07 16:03, 4F

06/07 16:03, , 5F
個欄位(整理成long table的形式),如此只需要寫一個geom_de
06/07 16:03, 5F

06/07 16:04, , 6F
nsity就可搞定。
06/07 16:04, 6F

06/07 16:34, , 7F
同locka,ggplot會建議只寫一次 +geom_density()
06/07 16:34, 7F

06/07 16:36, , 8F
因為做了三次geom_density使之後aes不再適用
06/07 16:36, 8F

06/07 20:36, , 9F
謝謝 各位大大 自學果然會走到奇怪的區域
06/07 20:36, 9F

06/07 20:37, , 10F
我還一直以為 當初這樣寫很棒....XD蠢蠢的
06/07 20:37, 10F

06/07 20:37, , 11F
跟自學無關,是你還不清楚ggplot2的邏輯
06/07 20:37, 11F

06/07 20:37, , 12F
慢慢清楚ggplot2邏輯,就不會有這個疑問了
06/07 20:37, 12F

06/07 20:38, , 13F
傳統的畫圖 邏輯跟ggplot2邏輯是不相容的 要轉換一
06/07 20:38, 13F

06/07 22:06, , 14F
ggplot2的邏輯 有沒有敘述比較好的網站可以參考
06/07 22:06, 14F

06/07 22:09, , 15F
沒有XDD 多畫幾次 多看幾次就熟了
06/07 22:09, 15F

06/07 23:08, , 16F
其實我覺得ggplot2的設計哲學就是headley大神所謂的tid
06/07 23:08, 16F

06/07 23:08, , 17F
y data,原po可以參考看看,之前在網路上有看過
06/07 23:08, 17F

06/07 23:37, , 18F
可以找找看ggplot2 book XD
06/07 23:37, 18F

06/08 00:49, , 19F
傳統畫法就是一個指令一個動作,但ggplot是把資料和動作
06/08 00:49, 19F

06/08 00:51, , 20F
在不同步驟一次處理…我也是多用就會了。
06/08 00:51, 20F
文章代碼(AID): #1PDwqbLY (R_Language)
文章代碼(AID): #1PDwqbLY (R_Language)