前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【绘图】柱状图玩出新花样-“滑珠图“

【绘图】柱状图玩出新花样-“滑珠图“

作者头像
用户6317549
发布2020-02-13 17:14:20
1.1K0
发布2020-02-13 17:14:20
举报
文章被收录于专栏:科研猫科研猫

散点图、折线图、柱状图,“三大“经典可视化图形。其中,柱状图作为表述不同分组数值高低的经典图形,被无数次用在文章写作中。我们看到的柱状图,绝大多数是这样子的:

不管是用Excel,还是R语言的base系统、ggplot系统,做出来的图也都是大同小异。有没有什么图形可以标新立异,用一种完全不同的模式来表达跟柱状图一样的意思的?今天,我们来看一个不一样的图形,散点图中的“异类“:滑珠图。可能很多人没听过“滑珠图”这样一个概念,我们先来看看图形:

上面这个就是滑珠图,一眼看上去,你可能会认为是一个散点图。可不是么,满屏都是点,不过,细看之下,你会发现在点的旁边都有一条直线,这个直线的长短其实跟我们的柱状图是一个意思,线条越长,代表数值越高。图中的点就像是在线条上滑动的一样,所以称之为“滑珠图”。这个图形看上去比柱状图更“眉清目秀“一些,毕竟出镜率不是那么高,比柱状图更加超凡脱俗一些。

输入数据

那么,这个图应该怎么做呢?先看看用来绘图的数据。

数据其实很简单,第一列,样本名称,这里我们用的是基因名;第二列,数值;第三列,分组信息,其实第三列是可有可无的,当你存在分组信息的时候,可以按照不同的颜色来标明不同的分组。

开始绘图

滑珠图可以通过ggpubr中的ggdotchart()函数进行绘制,以上述的图形为例,通过ggdotchart()函数可以绘制出简单的滑珠图:

但是这样的图形跟我们刚才看到的不太一样,没有直线,所以不能说是完整的滑珠图。

初级调整

怎么绘制真正意义上的滑珠图?很简单,只要添加一个参数就可以了。

图形终于画出来了,这样的滑珠图看上去就是跟我们平时的柱状图一个意思,点越高,数值也越高。

中级调整

在很多文章中,柱状图经常是水平的,特别是很多功能富集分析的结果,常常用水平柱状图表示。那么,如何绘制水平的滑珠图呢?绘制水平的滑珠图其实也很简单,也是只要添加一个参数即可。

高级调整

上面的图基本上能够满足我们的要求了,但是这么多次教程下来,大家也都知道我们可是力求完美的。要做一个完美的图形,还有很多参数需要去调整,比如figure legend的位置、数值由高到低的排序、点的大小等等问题,在dotchart()中有很多可以做调整的参数,我们在这里就不一一罗列了,直接看图吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科研猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档