作者helixc (@_2;)
看板R_Language
标题[讨论] ggplot2不能叠图或画双Y轴图?
时间Sun Jul 5 14:58:14 2015
其实想做的事情很简单,就是想要在一张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://webptt.com/cn.aspx?n=bbs/R_Language/M.1436079496.A.710.html
1F:→ celestialgod: lattice跟ggplot2差很多喔,lattice系统又自树一格 07/05 16:10
2F:→ celestialgod: lattice设定很广,没有一定经验会找选项找到疯掉 07/05 16:11
3F:→ celestialgod: ggplot2底层虽然用lattice,可是设定都不一样了 07/05 16:11
4F:→ celestialgod: 要把它们当作两个不同的东西... 07/05 16:11
5F:→ celestialgod: 个人很爱lattice,网路有lattice跟ggplot2对照版 07/05 16:12
6F:→ celestialgod: 根据Lattice - Multivariate Data Visualization 07/05 16:13
7F:→ celestialgod: With R 一书的图做的对照程式 07/05 16:14
8F:→ celestialgod: 如果会其中一种 满适合用来学lattice/ggplot2 07/05 16:14
9F:→ celestialgod: 至於基础函数其实很多都很方便,这部分需要实例 07/05 16:15
10F:→ celestialgod: 不然在套件出来前 前人怎麽做? 07/05 16:19
11F:→ helixc: 楼上大大可以回文呀...这样看好累XD 07/05 17:01
12F:→ helixc: dplyr的group_by, %>%, summarise()都超夸张的好用 07/05 17:01
13F:→ helixc: 我仔细翻了我几年前印的A Handbook of Statistical Anal 07/05 17:02
14F:→ helixc: ysis with R这本书有谈到资料整理 只有三页XD 07/05 17:02
15F:→ obarisk: ggplot2和lattice都用grid 07/05 17:05
16F:→ celestialgod: group_by就是tapply summarise应该sapply都做得出来 07/05 17:48
17F:→ celestialgod: %>%其实是magrittr提出来的 他以前好像是用%.% 07/05 17:51
18F:→ celestialgod: magrittr还有%T>%, %<>%, %$%等 07/05 17:52
19F:推 leo0650: 针对双Y轴图在ggplot2套件上的应用,这里的回答提供解释 07/06 01:07
21F:→ leo0650: 由於双轴图可能带来的缺点,此套件的逻辑会倾向采用facet 07/06 01:09
22F:→ leo0650: 的方式对齐,来比较数据 07/06 01:10
23F:→ helixc: 暂时避免掉双轴图了,有机会再慢慢玩,感谢 07/06 01:15
24F:→ celestialgod: 前面讲那麽多,忘记说latticeExtra有一个叫做double 07/06 01:20
25F:→ celestialgod: Yaxus可以用... 07/06 01:20
26F:→ celestialgod: 更正是doubleYaxis 07/06 01:21