[讨论] ggplot2不能叠图或画双Y轴图?

楼主: helixc (@_2;)   2015-07-05 14:58:14
其实想做的事情很简单,就是想要在一张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
作者: celestialgod (天)   2015-07-05 16:10:00
lattice跟ggplot2差很多喔,lattice系统又自树一格lattice设定很广,没有一定经验会找选项找到疯掉ggplot2底层虽然用lattice,可是设定都不一样了要把它们当作两个不同的东西...个人很爱lattice,网络有lattice跟ggplot2对照版根据Lattice - Multivariate Data VisualizationWith R 一书的图做的对照程式如果会其中一种 满适合用来学lattice/ggplot2至于基础函数其实很多都很方便,这部分需要实例不然在套件出来前 前人怎么做?
楼主: helixc (@_2;)   2015-07-05 17:01:00
楼上大大可以回文呀...这样看好累XDdplyr的group_by, %>%, summarise()都超夸张的好用我仔细翻了我几年前印的A Handbook of Statistical Analysis with R这本书有谈到资料整理 只有三页XD
作者: obarisk (OSWALT)   2015-07-05 17:05:00
ggplot2和lattice都用grid
作者: celestialgod (天)   2015-07-05 17:48:00
group_by就是tapply summarise应该sapply都做得出来%>%其实是magrittr提出来的 他以前好像是用%.%magrittr还有%T>%, %<>%, %$%等
作者: leo0650 (吕奕)   2015-07-06 01:07:00
针对双Y轴图在ggplot2套件上的应用,这里的回答提供解释http://goo.gl/so47cH由于双轴图可能带来的缺点,此套件的逻辑会倾向采用facet的方式对齐,来比较数据
楼主: helixc (@_2;)   2015-07-06 01:15:00
暂时避免掉双轴图了,有机会再慢慢玩,感谢
作者: celestialgod (天)   2015-07-06 01:20:00
前面讲那么多,忘记说latticeExtra有一个叫做doubleYaxus可以用...更正是doubleYaxis

Links booklink

Contact Us: admin [ a t ] ucptt.com