[討論] ggplot2不能疊圖或畫雙Y軸圖?

看板R_Language作者 (@_2;)時間9年前 (2015/07/05 14:58), 編輯推噓1(1025)
留言26則, 4人參與, 最新討論串1/1
其實想做的事情很簡單,就是想要在一張barplot放兩種資料, 而這兩個資料需要對應到不同的Y座標。 查了一下ggplot2好像沒有這種雙軸的功能? 要畫這種雙軸圖有些時候會把透過把兩張圖疊在同一張圖上來實現的樣子? Google了一下在Cookbook for R的作者寫了一個multiplot的()的function如下: http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_%28ggplot2%29/ 另外在這個網頁上找到有人寫了eastyGplot2這個package也可以合併圖 http://goo.gl/mG8Jla 還有人寫了一個ggplot_dual_axis()的function來用 http://goo.gl/eNLUS3 再繼續Google發現好像R最基礎的繪圖套件就可以完成雙座標軸的圖 如 http://www.r-bloggers.com/multiple-y-axis-in-a-r-plot/ ggplot2的用法是不困難,但他沒給的功能好像也要自己寫(廢話) 有聽說ggplot2是基於lattice套件去寫的,是不是也要去瞭解lattice? 還是先把基礎的plot()弄懂就好? 另外有一個類似的問題,像用dplyr/tidyr 套件去整理資料很容易, 但在沒有這些套件的時候要怎麼用基礎的function來完成資料處裡呢? 有嘗試查詢過可是查不太到,手邊R教科書y這部分談得不太多... 研究所時代有去T大海洋所旁聽過R的課程, 那位謝老師要我們不用套件寫出自己要的功能, 那時被震撼教育過沒幾次就陣亡了, 但總覺得如果能夠不倚賴好用的套件自己土砲完成好像也不錯XDD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.138.151.129 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1436079496.A.710.html

07/05 16:10, , 1F
lattice跟ggplot2差很多喔,lattice系統又自樹一格
07/05 16:10, 1F

07/05 16:11, , 2F
lattice設定很廣,沒有一定經驗會找選項找到瘋掉
07/05 16:11, 2F

07/05 16:11, , 3F
ggplot2底層雖然用lattice,可是設定都不一樣了
07/05 16:11, 3F

07/05 16:11, , 4F
要把它們當作兩個不同的東西...
07/05 16:11, 4F

07/05 16:12, , 5F
個人很愛lattice,網路有lattice跟ggplot2對照版
07/05 16:12, 5F

07/05 16:13, , 6F
根據Lattice - Multivariate Data Visualization
07/05 16:13, 6F

07/05 16:14, , 7F
With R 一書的圖做的對照程式
07/05 16:14, 7F

07/05 16:14, , 8F
如果會其中一種 滿適合用來學lattice/ggplot2
07/05 16:14, 8F

07/05 16:15, , 9F
至於基礎函數其實很多都很方便,這部分需要實例
07/05 16:15, 9F

07/05 16:19, , 10F
不然在套件出來前 前人怎麼做?
07/05 16:19, 10F

07/05 17:01, , 11F
樓上大大可以回文呀...這樣看好累XD
07/05 17:01, 11F

07/05 17:01, , 12F
dplyr的group_by, %>%, summarise()都超誇張的好用
07/05 17:01, 12F

07/05 17:02, , 13F
我仔細翻了我幾年前印的A Handbook of Statistical Anal
07/05 17:02, 13F

07/05 17:02, , 14F
ysis with R這本書有談到資料整理 只有三頁XD
07/05 17:02, 14F

07/05 17:05, , 15F
ggplot2和lattice都用grid
07/05 17:05, 15F

07/05 17:48, , 16F
group_by就是tapply summarise應該sapply都做得出來
07/05 17:48, 16F

07/05 17:51, , 17F
%>%其實是magrittr提出來的 他以前好像是用%.%
07/05 17:51, 17F

07/05 17:52, , 18F
magrittr還有%T>%, %<>%, %$%等
07/05 17:52, 18F

07/06 01:07, , 19F
針對雙Y軸圖在ggplot2套件上的應用,這裡的回答提供解釋
07/06 01:07, 19F

07/06 01:07, , 20F
07/06 01:07, 20F

07/06 01:09, , 21F
由於雙軸圖可能帶來的缺點,此套件的邏輯會傾向採用facet
07/06 01:09, 21F

07/06 01:10, , 22F
的方式對齊,來比較數據
07/06 01:10, 22F

07/06 01:15, , 23F
暫時避免掉雙軸圖了,有機會再慢慢玩,感謝
07/06 01:15, 23F

07/06 01:20, , 24F
前面講那麼多,忘記說latticeExtra有一個叫做double
07/06 01:20, 24F

07/06 01:20, , 25F
Yaxus可以用...
07/06 01:20, 25F

07/06 01:21, , 26F
更正是doubleYaxis
07/06 01:21, 26F
文章代碼(AID): #1LcDM8SG (R_Language)
文章代碼(AID): #1LcDM8SG (R_Language)