原创 黄小仙

即便小仙同学决定学习R语言来提升自己作图的“逼格”的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?)。仔细想了想,貌似又找到了两个学习R的理由
一是R可以帮助我们避免重复劳动,实现“一劳永逸”的终极梦想。尽管非常不想承认这一事实,在科研的过程中,小仙同学制造出了大量“无效”的数据(sign…),但也不得不“绞尽脑汁”、“竭尽全力”地进行花式分析,试图找出合理的解释。这时候用Excel或者Origin作图的劣势就显现出来了,每换一种分析方法或者是数据,我们都需要经过“插入图表”、“调整颜色”、“调整间距”等等繁杂的工序画出一张可以拿去“面圣”的图。小仙同学一想到这些就感觉“累觉不爱”了。

二是R可以自动生成比较貌美的图。不知道大家有没有这样的感受,自己辛辛苦苦画了半天、调整的半天的图会得到真实却很残忍的评价“很丑”(这是小仙同学心中永远的痛)。即使本小仙自以为眼光独特、品味高雅,费劲尝试“高级”的色系,但搭配出来总是那么不尽人意(实测网红晚晚带火的“莫兰迪色”不适用于科研绘图)。颜色的搭配、饱和度和透明度的调整没有想象中那么容易。折腾了半天,天生就爱不服气的本小仙,最后决定还是把专业的事交给专业的人做啦(偷偷告诉你,据说有科学家专门研究paper插图的配色,所以自己画的图没有那么貌美的时候也不要“妄自菲薄”啦)。

好了,叨叨这么多,终于要开始进入正题啦。一开始用R绘图的时候,小仙同学其实是非常痛苦的,因为没有编程基础,又怼了好几年瓶瓶罐罐,看到一行行代码,脑子里飘过的全是“&%¥#@¥$”。尤其是当你有实验要做、报告要写、作业要交的时候,平心静气地坐下来踏踏实实学习真的太难了(有人说小仙同学那么忙是因为效率低,好像真有些道理,我这真是“唉”,有苦说不出)。

后来本小仙的学习策略就非常简单,用到啥就去搜啥,我对数据结构、语法结构一点都不感兴趣,能让我用最短的时间内画出我想要的图,就是最好的方法。即使这样,小仙同学还是费了一些功夫。因为网上的一些教程,很多都是从别处复制粘贴过来的,本身就不完整。另外一个原因,某些大神觉得自己的教程已经足够通俗易懂了,有些大家都知道的基础知识根本不需要讲(小仙同学不服,有基础的同学不用看教程也可以自己摸索出来,真正需要教程的就是我们这些小白)。
小仙同学愿意尝试一下,把最最全面、稍作修改就能拿去的方法code分享一下,也不枉费花了那么多的时间。
那就先从violin plot开始吧。
(假设你已经安装了R和RStudio)

Step1. 绘图数据的准备
首先要把你想要绘图的数据调整成R语言可以识别的格式。
一般我们的数据都是保存在excel文档里,这里建议大家在excel中保存成csv格式读写的速度会比xlsx很多。(小仙同学的亲身经验,我的有些数据有两万行,xlsx在我的耐心范围内读不进去,RStudio崩溃)。
数据的格式如下图:一列表示一种变量,第一行是列名

Step2. 绘图数据的读取
data<-read.csv(“your file path”, header = T) #注释:header=T表示数据中
的第一行是列名,如果没有列名就用header=F

Step3.绘图所需package的安装、调用
install.package(“ggplot2”) #注释:ggplot2是目前公认绘图很强的一个安装包
library(ggplot2) #注释:package在使用之前需要调用

Step4.绘图
data$dose <- as.factor(data$dose) #注释:此处dose可用你的变量名称替换,$表示取数据集里的某一个元素

p<-ggplot(data, aes(x = dose, y = len)) #注释:”x=”,”y=”表示x轴和y轴表示的变量数值,p表示图像对象
p+geom_violin() #注释:画出violin plot的函数

Step5.美化
p+geom_violin(aes(fill = dose)) #注释:按组别填充不同的颜色

*如果你想手动改变颜色,可以使用这一句
p+geom_violin(aes(fill = “dose”))+scale_fill_manual(values=c(“#56B4E9”))
#注释:”#56B4E9”可以用其他颜色的代码来替换

好啦,今天的分享就到这里了,希望可以帮助到大家。有什么新的作图要求,可以留言给我哦!

(公众号:生信了)

R语言作图——violin plot(小提琴图)相关推荐

  1. matlab小提琴图,violin plot 小提琴图 matlab R语言 Python

    最近用到violin图,在此总结制作此图的步骤: matlab 需先下载函数文件(https://ww2.mathworks.cn/matlabcentral/fileexchange/45134-v ...

  2. R语言作图——Dot plot(点图)

    原创:黄小仙 2020开年不凡, 生活果然充满了惊吓,可仍然要期待惊喜呀.今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的 ...

  3. R语言作图——Pie chart(饼图)

    原创:黄小仙 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大 ...

  4. R语言作图——Split violin plot

    原创:黄小仙 最近小仙同学在好几篇文献里看到了这种小提琴图,暂时就肤浅地认为这是作者为了更好地比较对照组与实验组的差别,所以将同一个基因的小提琴图各画了一半,放在一起.为了跟上可视化的潮流,小仙也来尝 ...

  5. r语言ggplot画两条曲线_R语言作图——Line plot with error

    原创:黄小仙 为了画今天的这个图,小仙决定凭空想象一台可以实时监控基因表达水平的设备,成功得到了这么一组数据. 想要画的图是这样子滴. Step1.绘图数据的准备 首先要把你想要绘图的数据调整成R语言 ...

  6. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注

    R语言ggplot2可视化可视化聚类图.使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点.并自定义每个聚类簇数据点的颜色.多边形框的颜色(Cluster Plot).主副标题题注 ...

  7. R语言ggplot2可视化分面图(faceting)、可视化分面条形图(facet_wrap bar plot)、使用strip.text函数自定义分面图每个分面标题条带strip的大小(cutomi

    R语言ggplot2可视化分面图(faceting).可视化分面条形图(facet_wrap bar plot).使用strip.text函数自定义分面图每个分面标题条带strip的大小(cutomi ...

  8. R语言plotly包可视化线图(line plot)、使用restyle参数自定义设置可视化结果中线条的颜色、使用按钮动态切换线条的颜色(change line color with button)

    R语言plotly包可视化线图(line plot).使用restyle参数自定义设置可视化结果中线条的颜色.使用按钮动态切换线条的颜色(change line color with button i ...

  9. R语言ggplot2可视化分面图(faceting)、在所有的分面中添加相同的参考基准曲线(overlay a base or reference plot to all facets )

    R语言ggplot2可视化分面图(faceting).在所有的分面中添加相同的参考基准曲线(overlay a base or reference plot to all facets in a gg ...

最新文章

  1. 远程连接MySQL慢的原因及解决
  2. git 切换分支_简单git操作
  3. list转datatable
  4. swiper怎么让不会回弹,为什么我的滚动条拉上拉下都会回弹呢?
  5. flash 及 flex 技术
  6. python定制框架知识点_python框架中flask知识点总结
  7. 【今日CS 视觉论文速览】Wed, 12 Dec 2018
  8. windows-7:系统利用终端cmd命令关机
  9. 如何获取下拉列表框的值
  10. python管道_python中管道
  11. LINUX SHELL中,如何查找某些文件并删除
  12. spring cloud config 加密配置
  13. 向量表示 运动抛物线_黄老师讲数学(460)向量、数列、双变量、坐标计算、极限等结合的一道题...
  14. Android:JNI 与 NDK到底是什么?(含实例教学)
  15. 图形 3.6 纹理压缩——包体瘦身术——RGBA与ASTC与ETC2压缩与实际对比体验
  16. 基于jq的别踩白块儿小游戏
  17. Android基础入门教程——4.1.2 Activity初窥门径
  18. 图片提取利器,从PDF中快速提取图片并存储到本地
  19. 经典文献阅读之--PON
  20. php中的如何将拼接到一起,如何将两个视频拼接在一起?视频拼接方法

热门文章

  1. 完全卸载 HP 打印机
  2. python绘制函数曲线
  3. 大学生竞赛管理系统-JAVA【数据库设计、源码、开题报告】
  4. 在csdn中,如何获取积分
  5. 高速高精度半导体运动台设计(二)
  6. matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)
  7. 【Halcon 计算点到直线和点到直线延长线的距离】
  8. 十大编程语言黑客向,学会一个不怕没工作,全部学会随便秀操作
  9. Excel如何提取文本左边的数字
  10. ESD门禁管理系统方案