1.什么是小提琴图?

小提琴图是箱线图的变种,展示了任意位置的密度,通过小提琴图可以知道哪些位置的密度较高。

外部形状即为核密度估计(在概率论中用来估计未知的密度函数,属于非参数检验方法之一)。

本文我们就来讨论一下小提琴图是如何绘制的以及如何对其进行解读。

2.绘图前的数据准备

​ demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt下载。

​ 包含2个维度的数据,通常每一列是个样本,每一行是个基因

3. R语言怎么画小提琴图

# 加载R包,没有安装请先安装  install.packages("包名")
library(ggplot2)
library(reshape2)
library(ggsignif)# 读取小提琴图数据文件
df = read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt",# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件header = T    # 指定第一行是列名
)
# 把数据转换成ggplot常用的类型(长数据)
df = melt(df)# 绘图
ggplot(df,aes(x=variable,y=value,fill=variable))+geom_violin(alpha = 1,              # 透明度trim = T,               # 是否修剪尾巴,即将数据控制到真实的数据范围内scale = "area",         # 如果“area”(默认),所有小提琴都有相同的面积(在修剪尾巴之前)。如果是“count”,区域与观测的数量成比例。如果是“width”,所有的小提琴都有相同的最大宽度。)+theme_bw()+                          # 白色主题theme(axis.text.x = element_text(angle = 90,vjust = 0.5)       # x轴刻度改为倾斜90度,防止名称重叠)+geom_signif(                         # 添加显著性标签comparisons=list(c("Sample1","Sample2"),c("Sample3","Sample4")), # 选择你想在哪2组上添加标签step_increase = 0.1,test="t.test",                     # "t 检验,比较两组(参数)" = "t.test","Wilcoxon 符号秩检验,比较两组(非参数)" = "wilcox.test"map_signif_level=F                 # 标签样式F为数字,T为*号)

4. BioLadder生信云平台在线绘制小提琴图

不想写代码?可以用BioLadder生信云平台在线绘制小提琴图。

网址:https://www.bioladder.cn/web/#/chart/18

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AbTBdKVK-1652084239667)(D:\gitee\bioladder2\文档\知乎\R语言怎么画小提琴图.assets\image-20211206160414997.png)]

4.1 上传文件

点击“选择”按钮上传自己的文件

备注:

  1. 点击查看按钮可以查看自己的上传的数据;
  2. 点击下载示例,可以下载demo数据;
  3. 支持txt,csv,xlsx,xls四种格式;

R语言如何绘制小提琴图(10)相关推荐

  1. R语言ggplot2可视化小提琴图(violin plot)并使用ggsignif添加分组显著性(significance)标签

    R语言ggplot2可视化小提琴图(violin plot)并使用ggsignif添加分组显著性(significance)标签 目录

  2. R语言如何绘制雷达图(32)

    1.什么是雷达图? ​ 雷达图是以从同一点开始的轴上表示的三个或更多个变量的二维图表的形式显示多变量数据的图形方法.轴的相对位置和角度通常是无信息的. 雷达图也称为网络图,蜘蛛图,星图,蜘蛛网图,不规 ...

  3. R语言如何绘制桑葚图(28)

    1.什么是桑葚图? 桑基图(Sankey Diagram),即桑基能量分流图,也叫桑基能量平衡图.它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小. 桑基图主要由边.流量和节点组成,其 ...

  4. R语言如何绘制棒棒糖图(22)

    1.什么是棒棒糖图? 棒棒糖图,顾名思义,由点棍组成,形似棒棒糖. 棒棒糖图(lollipop chart):棒棒糖图传达了与柱形图或者条形图相同的信息,只是将矩形转变成线条,这样可减少展示空间,重点 ...

  5. R语言如何绘制韦恩图(6)

    如何绘制韦恩图 1.什么是韦恩图? ​ 维恩图用于展示在不同的事物群组(集合)之间的数学或逻辑联系,尤其适合用来表示集合(或)类之间的"大致关系",它也常常被用来帮助推导(或理解推 ...

  6. R语言如何绘制PCA图(四)

    1.什么是PCA? 人眼一般能感知的空间为二维和三维.高维数据可视化的重要目标就是将高维数据呈现于二维或三维空间中.高维数据变换就是使用降维度的方法,使用线性或非线性变换把高维数据投影到低维空间,去掉 ...

  7. R语言EXCEL绘制瀑布图

    瀑布图是反映在诸多原因和因素下,使得一个状态演变成另一个状态的过程图表,这个过程中我们可以了解哪些是导致该变化结果的主要因素,以及产生影响的强弱,R语言中一共有三个包可以做,它们分别是waterfal ...

  8. R语言如何绘制雷达图,radarchart包的使用

    先看一下效果图 论文里面一般展示雷达图如下 下面我们使用fmsb包中的radarchart函数需要一个数据,其中第一行代表数据的最大值(10),第二行代表数据的最小值(0).否则,需要设置maxmin ...

  9. R语言ggplot绘制鸡冠花图(南丁格尔玫瑰图)

    南丁格尔玫瑰图也就是鸡冠花图,一种极坐标的​柱状图.图形的大小跟变量分组的数值呈正比.从极坐标延伸出来的每一环可以当做标尺来使用,用来表示分段的大小并代表数值的高低. 首先绘制柱状图 bar<- ...

最新文章

  1. 如何使用 Python 操作 Git 代码?GitPython 入门介绍
  2. ZOJ 2913 Bus Pass (近期的最远BFS HDU2377)
  3. 利用xsl和xml转html没有内容_P系列2代码页转pdf后篇
  4. spring mvc 渲染html,在Spring MVC中使用Thymeleaf模板渲染Web视图
  5. 都在说TDD开发,那到底TDD是什么?
  6. php string slice,substring()与str.slice()区别
  7. hdu 1286找新朋友 (简单数学题)
  8. 房子值500万租金仅3500元,卖房拿利息和出租哪个合算?
  9. 金色圣诞幻灯片AE模板
  10. 服务器硬盘和台式机有什么区别,服务器和电脑主机有什么区别?
  11. Java结合docx4j生成docx文件
  12. 微信小程序圆形图片小图标按钮
  13. Verilog无符号除法器-状态机实现
  14. GitHub简单入门
  15. macd底背离的python_python量化交易是否可以有策略有效识别MACD/SKDJ底背离和顶背离?...
  16. Address already in use: JVM_Bind:8080 关于XXX端口被占用问题的解决
  17. IE,火狐,谷歌之间差异
  18. 怕你不信,100行极简原生html现实3D雪花飘飘动效
  19. 如何轻松的破解excel 2016工作表密码
  20. 一次性读懂云计算中的6大热门词汇

热门文章

  1. 植物大战僵尸android版手机版,植物大战僵尸95版手机版
  2. 软件测试人员会被替代吗?IT行业哪个方向的前景最好?字节12年测开是这样说的
  3. 物联网的发展前景怎么样,发展趋势是什么?
  4. android 蓝牙串口连接不上,安卓手机搜索不到蓝牙模块HC-06,是怎么回事?
  5. 充电c语言,USB电池充电基础
  6. js判断是否为数字 排除掉空
  7. js_获取各大主流浏览器的类型和版本
  8. Android4.4 Telephony流程分析——去电(MO)流程
  9. 银行可以用服务器群集代替大型机吗?
  10. [ 题解 ] [ 逆推 ] A. Taming the Herd