小提琴统计图_(翻)云(覆)雨图-小提琴图,密度图、箱线图组合
转自: biobabble
生物狗喜欢画barplot,但毕竟只有均值和标准误差信息量太低,万一有outliers呢?万一不是正态分布呢?所以就吐槽了又吐槽,但大家还是乐此不疲,因为大家都在用,因为很多人只会画barplot,所以产生各种反barplot运动,并呼吁大家使用boxplot,boxplot有四分位数的统计量,可以反应outlier和数据的分布,比barplot高得多了。
然而事情是不断在进化的,我们的手段是要跟上潮流的,现在的潮流就是除了要有统计量,还要有原始数据,甚至于有统计推断,全集中一图中,揭开数据的红盖头,给大家呈现全方位无死角的面貌。
所以现在流行的不单单是画boxplot,有以下几种方式是显得比较专业的:
boxplot + raw data
violin plot + boxplot
violin plot + raw data
violin plot + boxplot + raw data
反正就是原始数据+统计量(boxplot)+统计推断(violin plot, 概率密度)的组合。然而violin画出来是对称的,也就是说信息冗余,就有人提出来,能不能画一半的violin,但其实一半也挺丑的,但大家脑洞足够大,把violin往右移一点,它就像一朵云彩,而raw data就像是雨滴,于是乎云雨图(raincloud)应运而生,一下子俘获大家的芳心,包括我。
就这一个可视化方式,有人专门写文章介绍,并且还用主流语言实现了,https://peerj.com/preprints/27137v1/。
《ggridges:一种波涛汹涌,哦不对,是山峰叠峦的可视化方式》本身长得就像半个violin,这个包现在也支持raincloud,不过我还是喜欢单一的元素然后自己拼。
那么要实现这个图,最大的问题在于需要一半的violin,这个David Robinson首先从ggplot2中的geom_violin图层修改得到,然后我发现一直没人打包在R包里,我为了方便讲课时候在课堂上演示,于是我就打了一个R包,叫gglayer,https://github.com/GuangchuangYu/gglayer, 顾名思义就是打包ggplot的图层的,我顺道把我yyplot中的两个图层也给移过去。
130岁了,祝你生快
画个小圈圈
violin + boxplot + raw data
require(ggplot2)
ggplot(iris, aes(Species, Petal.Length, fill=Species)) +
geom_violin(alpha=.5) +
geom_boxplot(width=.1) +
geom_jitter()
violin + mean+-sd + raw data
统计量不一定要用boxplot来展示四分位数,你也可以是均值+-标准误差的方式,这样相当于你把barplot的信息也放进去了,所以说单纯barplot有多弱鸡。当然统计量也不限于此,有合适的都可以放进去。无非是拼图层,这也是图形语法的灵活所在,封装失去了自由组合的灵活性。
require(dplyr)
d %
summarize(mean = mean(Petal.Length),
sd = sd(Petal.Length))
ggplot(iris, aes(Species, Petal.Length, fill=Species)) +
geom_violin(alpha=.5) +
geom_jitter() +
geom_pointrange(aes(y=mean, ymin=mean-sd, ymax=mean+sd, color=Species), data=d, size=2)
云雨图1:加上均值和标准误差。
## devtools::install_github("GuangchuangYu/gglayer")
require(gglayer)
ggplot(iris, aes(Species, Petal.Length, fill=Species)) +
geom_flat_violin(position=position_nudge(x=.2)) +
geom_jitter(aes(color=Species), width=.15) +
geom_pointrange(aes(y=mean, ymin=mean-sd, ymax=mean+sd),
data=d, size=1, position=position_nudge(x=.25)) +
coord_flip() + theme_bw() +
theme(legend.position="bottom")
云雨图2:加上boxplot
ggplot(iris, aes(Species, Petal.Length, fill=Species)) +
geom_flat_violin(position=position_nudge(x=.3)) +
geom_jitter(aes(color=Species), width=.15) +
geom_boxplot(width=.1, position=position_nudge(x=.22)) +
coord_flip() + theme_bw() +
theme(legend.position="bottom")
云雨图3:用堆叠的点图当雨点
ggplot(iris, aes(Species, Petal.Length, fill=Species)) +
geom_flat_violin(position=position_nudge(x=.2)) +
geom_dotplot(binaxis="y", stackdir="down", dotsize=.35) +
geom_boxplot(width=.1, position=position_nudge(x=.1)) +
coord_flip() + theme_bw() +
theme(legend.position="bottom")
往期精彩
用户数据注释进化树
reverse time scale
给硕博考生的一封信
轮到相思没处辞,眉间露一丝
没有金刚钻,揽不了瓷器活!
treeio: Phylogenetic data integration
ggplot扩展学习笔记--逐行解析Y叔的"geom_ord_ellipse.R"
五彩进化树与热图更配-ggtree美颜进化树(宏基因组扩增子)
小提琴统计图_(翻)云(覆)雨图-小提琴图,密度图、箱线图组合相关推荐
- 【数据处理】python matplotlib 画箱线图;箱线图介绍;如何画箱线图
一.箱线图介绍 假设一组数据有n个数,将它们从小到大排列,分为四等分.位于第25%(n+1)位置的数字是第一四分位数Q1.位于第50%(n+1)位置的数字是第二四分位数Q2,也是中位数.位于第75%( ...
- ggplot2箱式图两两比较_ggplot2 - 箱线图(Box - plot)
简介 箱线图,顾明思义,是形状像箱子并展示一组或多组数据分布的统计图,被认为是一个优于柱形图的数据可视化方案,文章中指出了很多箱线图的优点. 在ggplot2 中做箱线图的图形变换是geom_boxp ...
- python panda 库箱线图_Python数据可视化:箱线图多种库画法
概念 箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q ...
- python画厢式图_Python数据可视化:箱线图多种库画法
概念 箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q ...
- r语言echarts画箱线图_echarts学习笔记之箱线图的分析与绘制详解
一.箱线图 box-plot 箱线图(boxplot)也称箱须图(box-whisker plot),它是用一组数据中的最小值.第一四分位数.中位数.第三四分位数和最大值来反映数据分布的中心位置和散布 ...
- matlab笔记——绘图篇——折线图+散点图+饼图+直方图+柱状图+箱线图+三维图+地图
今天早上刚讲完课,一个小时的培训准备起来也很不容易呐,但是讲完还是挺开心的啦. 现在来把绘图篇更新一下. 这篇主要就讲matlab数据可视化,介绍一下matlab基本图形绘制. 绘图篇 数据导入 给大 ...
- python箱形图颜色_python绘图:箱线图
箱线图 boxplot函数的参数解读 绘图之前,我们先来讲解一下matplotlib包中boxplot函数的参数含义及使用方法: plt.boxplot(x, notch=None, sym=None ...
- 小提琴统计图_小提琴图解读 统计学
小提琴图现在比较流行,在文章里很常见. [小提琴图]其实是[箱线图]与[核密度图]的结合,[箱线图]展示了分位数的位置,[小提琴图]则展示了任意位置的密度,通过[小提琴图]可以知道哪些位置的密度较高. ...
- 小提琴统计图_小提琴图解读 - 统计学
小提琴图现在比较流行,在文章里很常见. [小提琴图]其实是[箱线图]与[核密度图]的结合,[箱线图]展示了分位数的位置,[小提琴图]则展示了任意位置的密度,通过[小提琴图]可以知道哪些位置的密度较高. ...
- 小提琴统计图_R语言数据可视化系列(4)箱线图和小提琴图(附详细代码)
本文希望教会大家运用R语言绘制箱线图和小提琴图.小提琴图能同时查看数据的分布和描述性统计,是一种非常实用的可视化图形. 箱线图/盒须图 绘制连续型变量常用的五个描述性统计量,从下到上依次是:最小值,下 ...
最新文章
- 黑马在线教育项目---15-16、datatables插件
- 经典C语言程序100例之十二
- python发红包问题_一个关于红包的问题引发的python算法初体验
- solr 3.5 配置及应用(二)
- PHP在线二维码生成源码
- 阿里云前端周刊 - 第 33 期
- Exchange 2013 MAPI over HTTP
- mysql left right 一张图解
- linux 查看数据库和表
- web项目设计文档_web项目前后端分离模式下的权限设计方案
- 深入浅出 卡尔曼滤波
- 费马小定理的两个证明
- 存储组件之MFS详解
- Alpaca 羊驼API的使用
- Android studio 的SDK默认安装路径找不到AppData文件
- 冯诺依曼体系结构计算机
- windows2003中未分页内存泄漏导致服务器不稳定的解决方法
- 高校制作VR全景费用了解一下?
- java abstract的用法
- 期末Django项目实训报告