10月 262018
 

R 语言的 ggplot2 包很美很酷。比如,基于 ggplot2 做出的配对儿图是这样的:

而在 ggplot2 出现之前,用基础包和其他包做出来的配对儿图顶多是这样的:

确实差好几条大街。

然而,ggplot2 简单的指令还好办,稍微需要调整一下的作图方法,我始终没法熟练掌握。

我觉得主要原因就是 ggplot2 作图的细节调整太难。

科研工作的主要内容就是发表论文,而论文投稿后,审稿人会提出五花八门的修改意见,包括对插图的细节调整,有时候很变态,有时候很无聊。在不影响内容的前提下,照做才能顺利通过,死扛的话可能会被拒稿。

有一次,有个审稿人要我减少相邻子图之间的间距,或者共用同一个纵轴的刻度和 ylab。

还有一次,有个审稿人是色盲,要求更改图中某几个点的颜色。

这个事儿在基础作图里信手拈来,但是 ggplot2 里,因为不熟,还得去 google,还得去提问,活活把重点从自己研究的“道”歪到了作图这个“术”上。

然而即使这样还不一定能解决。比如有人问双坐标轴的问题,ggplot2 的开发者 Hadley 本人回复说 ggplot2 不可能做。那我总不能对审稿人说,我画不了,因为作图软件不支持,来,咱们放下大气污染的问题,先讨论一下双坐标轴的弊端吧。

推崇 ggplot2 的人经常说, ggplot2 做出的图,如果用基础作图函数来做的话会非常繁琐。然而反过来也一样:基础函数作出的图, 用 ggplot2 实现起来也会很繁琐。当然, ggplot2 确实很美,然而判断美丑有很大的主观成分(当然,除了一些通用的标准外)。我说“美”,但审稿人和老板说“改”,这样就很惨。就好比用 LaTeX 的员工遇见了个用 MS Word 的老板,就算生成的 pdf 再漂亮,老板一句“把你的修改稿用修订模式发给我”就足足打消了深究 LaTeX 的动力。

我觉得 ggplot2 适用于那些自己说了算的场景。老子就这么画,意思表达清楚就行了,细节靠边站。体现到研究工作里,适合用于数据的初步可视化、海报和口头报告、讨论等,但不适合我这个领域的正式出版物,除非精通到指哪儿打哪儿。

  2 Responses to “让人纠结的 ggplot2”

  1. 确实,好多基础图,用来用去,发觉还是excel来得最快最便捷,学习成本太高,好不容易 学会用一个,等到下次再用的时候,早忘记几个轮回了。。。。

 填写评论

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必填)

(必填)

This site uses Akismet to reduce spam. Learn how your comment data is processed.