分享

ggplot2设置可视化窗口

 生物_医药_科研 2019-02-03

小伙伴发来这个图,问我是不是bug,这真是犯了程序员的社交礼仪。

你如果对一个程序员说,“你的代码有bug。”
他的第一反应是:

  • 1. 你的环境有问题吧

  • 2. 傻逼你会用吗。


如果你委婉地说:“你这个程序和预期的有点不一致,你看看是不是我的使用方法有问题。”

他本能地会想:“操,是不是出bug了!”

这显然不是bug,这是绝大多数人对ggplot2的误解,他们认为用xlimylim是放置一个窗口去看你的图,然而在ggplot2是限定一个窗口去过滤你的数据,并重新画图!你的数据被过滤了!如果是放置窗口在图上,一条线从A到B,如果B在窗口之外,那么线被截断了,你看到半条线,但如果是过滤数据呢?B不复存在,那么线条A到B也不复存在,没有B,A到B的线画不出来。就是这样,所以这绝逼不是bug,而是程序员本能反应的第二种情况,你用错了。

那么怎么样不过滤数据,而只是设置可视化窗口呢?你基本上很少看到有人这么用,因为几乎99%的人都只知道xlimylim,一般人我也不告诉他,快点拿起小抄把下面的代码记录一下。

library(ggplot2)
library(ggtree)

tr = rtree(30
p = ggtree(tr) + geom_tiplab()
p + geom_point(color='red', size=5) + 
    coord_cartesian(xlim=c(-1,2))


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多