作者BUQ (固執又暴燥)
看板R_Language
標題[問題] ggplot2 有關scale_fill_或Legends
時間Wed Jun 7 15:37:04 2017
[問題類型]:
程式諮詢(我想用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://webptt.com/m.aspx?n=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
1F:→ locka: 1. 兩者差別在於discrete是自動為離散變數分配顏色,manual 06/07 16:03
2F:→ locka: 是手動指定顏色 06/07 16:03
3F:→ locka: 2. 因為你的寫法是各自畫三個geom_density,所以scale_fill 06/07 16:03
4F:→ locka: _那些沒辦法用,正確做法應該是把那三個欄位的資料合成同一 06/07 16:03
5F:→ locka: 個欄位(整理成long table的形式),如此只需要寫一個geom_de 06/07 16:03
6F:→ locka: nsity就可搞定。 06/07 16:04
7F:→ andrew43: 同locka,ggplot會建議只寫一次 +geom_density() 06/07 16:34
8F:→ andrew43: 因為做了三次geom_density使之後aes不再適用 06/07 16:36
9F:→ BUQ: 謝謝 各位大大 自學果然會走到奇怪的區域 06/07 20:36
10F:→ BUQ: 我還一直以為 當初這樣寫很棒....XD蠢蠢的 06/07 20:37
11F:→ celestialgod: 跟自學無關,是你還不清楚ggplot2的邏輯 06/07 20:37
12F:→ celestialgod: 慢慢清楚ggplot2邏輯,就不會有這個疑問了 06/07 20:37
13F:→ celestialgod: 傳統的畫圖 邏輯跟ggplot2邏輯是不相容的 要轉換一 06/07 20:38
14F:→ BUQ: ggplot2的邏輯 有沒有敘述比較好的網站可以參考 06/07 22:06
15F:→ celestialgod: 沒有XDD 多畫幾次 多看幾次就熟了 06/07 22:09
16F:→ yenzichun: 其實我覺得ggplot2的設計哲學就是headley大神所謂的tid 06/07 23:08
17F:→ yenzichun: y data,原po可以參考看看,之前在網路上有看過 06/07 23:08
18F:→ celestialgod: 可以找找看ggplot2 book XD 06/07 23:37
19F:→ andrew43: 傳統畫法就是一個指令一個動作,但ggplot是把資料和動作 06/08 00:49
20F:→ andrew43: 在不同步驟一次處理…我也是多用就會了。 06/08 00:51