使用ggplot2画 点图、箱线图、小提琴图、蜂窝图、云雨图

加载包

library(tidyverse)
library(cowplot)
library(ggrepel)
library(ggsci)
library(ggsignif) # 计算相关性
library(ggbeeswarm) #蜂窝
library(gghalves) #云雨

准备数据集

data(iris) #常用数据集,研究花萼的长度不同物种有何差异

点图

ggplot(data = iris,aes(x = Species,y = Sepal.Length))+geom_point(position = 'jitter',aes(color = Species))+theme_cowplot()

errbar

iris_sum <- group_by(iris,Species) %>%summarise(Sepal.Length.mean = mean(Sepal.Length),Sepal.Length.sd = sd(Sepal.Length))ggplot(data = iris_sum , aes(x = Species,y = Sepal.Length.mean))+ geom_point(aes(color = Species))+geom_errorbar(aes(ymin = Sepal.Length.mean - Sepal.Length.sd,ymax = Sepal.Length.mean + Sepal.Length.sd,color = Species),width = 0.15)+theme_cowplot()

箱线图

ggplot(data = iris , aes(x = Species,y = Sepal.Length))+geom_boxplot(aes(fill = Species))+geom_point(aes(color = Species),position = 'jitter')+  #jitter 是点的一个摆动geom_signif(comparisons = list(c("setosa","versicolor"),c("versicolor","virginica")),y_position = c(7.2,8.2),map_signif_level = T)+scale_fill_lancet()+theme_cowplot()

小提琴图

ggplot(data = iris , aes(x = Species,y = Sepal.Length))+geom_violin(aes(fill = Species))+geom_boxplot(width =0.1)+geom_point(aes(color = Species),position = position_jitter(width =  0.1),size = 0.8)+geom_signif(comparisons = list(c("setosa","versicolor"),c("versicolor","virginica")),y_position = c(7.2,8.2),map_signif_level = T)+scale_fill_lancet()+theme_cowplot()

蜂窝图

ggplot(data = iris , aes(x = Species,y = Sepal.Length))+geom_quasirandom(aes(color = Species))+geom_signif(comparisons = list(c("setosa","versicolor"),c("versicolor","virginica")),y_position = c(7.2,8.2),map_signif_level = T)+scale_fill_lancet()+theme_cowplot()

云雨图

ggplot(data = iris , aes(x = Species,y = Sepal.Length))+geom_half_violin(aes(fill = Species),side = 'r',  #云的方向adjust = 1/2, #平滑程度position = position_nudge(x=0.25,y=0))+geom_boxplot(width =0.1,position = position_nudge(x=0.25,y=0))+geom_point(position = position_jitter(width = 0.15),size = 0.8)+geom_signif(comparisons = list(c("setosa","versicolor"),c("versicolor","virginica")),y_position = c(7.2,8.2),map_signif_level = T)+scale_fill_brewer(palette = 'Dark2')+theme_cowplot() +coord_flip()   #逆时针旋转

两组数据分布小提琴两侧

ggplot(data = iris , aes(x = Species,y = Sepal.Length))+geom_half_violin(fill = 'red',side = 'r',  #云的方向adjust = 1/2, #平滑程度)+geom_half_violin(aes(y = Petal.Length),fill ='blue',side = 'l',adjust = 1/2)+scale_fill_brewer(palette = 'Dark2')+theme_cowplot()+ coord_flip()


因为数据不好所以看起来有点怪异,请君见谅。

比较同一物种花萼和花瓣的长度

iris_tidy <- select(iris,Sepal = Sepal.Length,Petal = Petal.Length,Species)%>% gather(key = Tissue ,value = Length ,Sepal,Petal)head(iris_tidy)ggplot(data = iris_tidy, aes(x =Tissue,y=Length))+geom_boxplot(aes(fill = Tissue))+facet_grid(~Species)+ #写波浪线后代表以x轴分面,写在前以y轴来分。theme_cowplot()

小结

星期五了,过的好快,明天是中秋节与教师节,提前祝大家中秋快乐,祝坚守在一线的老师们教师节快乐,劳动最光荣,学习最美丽,望君多点赞,有啥问题直接留言,我很乐意解决大家的问题,和志同道合的人一起冲,很快乐。哈哈哈哈哈哈哈哈哈。

使用ggplot2画 点图、箱线图、小提琴图、蜂窝图、云雨图相关推荐

  1. 用R中ggplot2包做箱线图、折线图、条形图

    用R中ggplot2包做箱线图.折线图.条形图(横.纵) 使用ggplot2完成画图工作 建议 箱线图 折线图 条形图 (纵)背景白色+柱子颜色一致 (纵)条形按y值降序排列+去掉边框线+红色渐变 ( ...

  2. seaborn画分组箱线图

    seaborn画分组箱线图 一.先上图 二.程序 一.先上图 二.程序 import pandas as pd import seaborn as sns import matplotlib.pypl ...

  3. ggplot2画各种误差线和森林图

    获取更多R语言知识,请关注公众号:医学和生信笔记 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生 ...

  4. ggplot2箱式图两两比较_个人向ggplot2箱线图总结

    主要从如何看图.用图与作图三个方面来对箱线图进行理解和总结. 1.看图 箱线图概述图1 箱线图概述图2 如图所示,箱线图是将一组数据按照大小顺序排列后进行绘制的,包含6个数据节点,分别表示出数据的上边 ...

  5. ggplot2箱式图两两比较_R语言ggplot2箱线图绘图总结

    主要从如何看图.用图与作图三个方面来对箱线图进行理解和总结. 1.看图 箱线图概述图1 箱线图概述图2 如图所示,箱线图是将一组数据按照大小顺序排列后进行绘制的,包含6个数据节点,分别表示出数据的上边 ...

  6. ggplot2箱式图两两比较_ggplot2 - 箱线图(Box - plot)

    简介 箱线图,顾明思义,是形状像箱子并展示一组或多组数据分布的统计图,被认为是一个优于柱形图的数据可视化方案,文章中指出了很多箱线图的优点. 在ggplot2 中做箱线图的图形变换是geom_boxp ...

  7. ggplot2箱线图的美化之路: 箱线图到直方图加散点图再加误差线的美化之路

    如何把你的箱线图变成plus版? 箱线图到直方图加散点图再加误差线的美化之路 前言 数据准备 箱线图美化 01 一个平平无奇的箱线图 02 给箱线图加上误差线 03 加上散点的信息 04 去除网格线和 ...

  8. Matplotlib学习---用matplotlib画箱线图(boxplot)

    箱线图通过数据的四分位数来展示数据的分布情况.例如:数据的中心位置,数据间的离散程度,是否有异常值等. 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分 ...

  9. 箱线图入门,一文看懂箱线图,matplotlib画箱线图

    什么是箱线图? 我们画箱线图的目的其实是去查看数据分布的离散程度. 上图将箱线图的重要部分都标出来了.对于箱线图来说,图中会有的要素有: 最大值 Q3(大于75%数据的位点) 中位数 Q1(大于25% ...

最新文章

  1. Redis持久化实践及数据恢复
  2. 【linux+C】神器 vim + 指针相关客串
  3. 网关和路由器的区别是什么?
  4. 国一B题方案解析:轴距仅210mm的四旋翼有多稳?
  5. vue打包放到Java项目里_如何把vuejs打包出来的文件整合到springboot里
  6. 够狠 | 单点登录三种方式,够狠!够劲爆!
  7. 操作系统源代码_计算机自制操作系统(八):仿生DOS操作系统源代码
  8. paip.python错误解决21
  9. 系统集成项目管理工程师 案例题【2021上】 总结
  10. 开放有限元分析计算平台介绍
  11. 怎样png转jpg还可以保持原有大小?
  12. 字段代码au_EBSCOhost数据库中,检索字段代码为TI、SO、AU分别表示的是:
  13. 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡
  14. 惠普笔记本重装系统 BIOS设置
  15. Threejs实现模拟管道液体流动
  16. 美国TSCA 法案禁止产品中含有五种PBT 物质
  17. 科密指纹考勤机B329采集
  18. 友盟(https://www.umeng.com/)
  19. iOS 偏好设置 NSUserDefault
  20. java button click事件_java处理按钮点击事件的方法

热门文章

  1. hdu1056 堆积木
  2. 杨元庆:马雪征退休是她的决定 联想很尊重
  3. 程序猿的一些幽默趣闻 个个经典
  4. Windows 编程中的数据类型(转自:维基百科)
  5. meter进度条 不同颜色
  6. MySQL之MYISAM和INODB
  7. 苹果手机以旧换新活动_苹果再次清仓iPhone SE,以旧换新活动延期
  8. 转贴一下 老婆日记
  9. linux redis查看密码,Redis集群设置密码和查看密码方法
  10. 从大乘“六度法”说起