R语言做小提琴图_小提琴用英语怎么读?

R语言做小提琴图_小提琴用英语怎么读?原创黄小仙即便小仙同学决定学习R语言来提升自己作图的“逼格”的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原创 黄小仙

即便小仙同学决定学习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”可以用其他颜色的代码来替换
在这里插入图片描述
好啦,今天的分享就到这里了,希望可以帮助到大家。有什么新的作图要求,可以留言给我哦!

(公众号:生信了)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184119.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows server 2008 r2搭建FTP服务器

    最近需要搭建FTP服务器,顺着书上的教程走一遍流程。1.安装FTP服务图一图二图三可以看到上面提示并未启动windows自动更新,这个需要注意一下。2.新建FTP站点准备FTP文件夹

    2021年12月23日
    43
  • 错误解决:widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

    错误解决:widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParamsandroid.widget.FrameLayout$LayoutParamscannotbecasttoandroid.widget.LinearLayout$LayoutParams。LinearLayout.LayoutParamsparams=newLinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,0);

    2022年9月21日
    2
  • 进制转换(二进制、八进制、十进制、十六进制)涵盖整数与小数部分,超详细

    进制转换(二进制、八进制、十进制、十六进制)涵盖整数与小数部分,超详细今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦!先从我们最熟悉的十进制入手吧,其他进制与十进制的转换方法都是一样的,保证能全部记住!整型有4种进制形式:1.十进制:都是以0-9这九个数字组成,不能以0开头。2.二进制:由0和1两个数字组成。3.八进制:由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。先来贴一张进制转换表:一、十进制转换成二进制、八进制、十六进制

    2022年10月17日
    3
  • java分布式事务框架_Java分布式事务,及解决方案

    java分布式事务框架_Java分布式事务,及解决方案1、什么是分布式事务分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2、分布式事务的产生的原因2.1、…

    2022年5月4日
    65
  • 基于MVP架构设计ASP.Net的应用研究

    基于MVP架构设计ASP.Net的应用研究

    2021年7月26日
    56
  • VS多行注释快捷键_vs2015注释快捷键

    VS多行注释快捷键_vs2015注释快捷键最近在使用VS2010开发ASP.NET,突然发现想全部注释时找不到注释的快捷键,网上查了下,原来很简单,只是需要使用组合键。注释:先CTRL+K,然后CTRL+C取消注释:先CTRL+K,然后CTRL+U…

    2022年8月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号