分享

听说你画的图,线条不见了

 微笑如酒 2019-02-10

写这个标题的时候,我突然想起了《什么!你的图上有一双看不见的手》这篇文章,当然这里看不见是故意的,而今天要说的是,你明明画了,它却不见了,有种见鬼般的神秘力量。

有人跟我说用enrichplot, 《enrichplot: 让你们对clusterProfiler系列包无法自拔》画的网络图,边不见了。

其实像上面我截屏的一样,你点一下zoom,出来另一个窗口,它就有了,如果没有,你就拉大或拉小窗口试试,正常就应该出现的,就是这么神奇。

一般来说,R画图会丢图例,线条等,通常是因为画图的空间不适合于分配图形的内容,这和你显示器的大小、画图的区域都可以有关系,所以先拉大拉小一个画图的窗口再说。

'Error in plot.new() : figure margins too large'

这种就是画图区域太小了,没办法分配到足够的空间来画图,搞大画图窗口的大小!

Graphic with missing or distorted components

如果有丢东西,或者出现在“不正确”的位置,这是R自做聪明想要把图缩放去适应你的画图区域,还是一样的解决方法,拉大或拉小窗口。

Reset your graphics device

还有一种是你对画图有一些设置,比如base里par, options的一些设置,而ggplot2theme的设置,你比如说你加载了cowplot,然后你去用ggplot2画图,你会发现图不一样了,因为主题被改了。所以有些包或者函数会更改一些默认的行为,这可不好搞,太坑爹。

ggplot2的还好,你用theme_set(theme_grey())设回ggplot2默认的就行。但对于base,就没有这么直接的方法重置了,这你给大家分享一招,用dev.off(),不断跑,跑到它报错提示你说没有device的时候,那么你关掉了所有的画图设备,这时候你再画图,出来的新的画图设备就是重置好的了。

实在不行,你就把R关掉,再开过吧,如果是使用RStudio然后一直有问题,你就试试用原生的RGui,或者直接命令行吧。


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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多