统计绘图 | 一行代码教你绘制顶级期刊要求配图
在分享完即可统计又可可视化绘制的优秀可视化包后(具体内容可看 统计绘图 | 既能统计分析又能可视化绘制的技能 。就有小伙伴私信问我需要绘制出版级别的可视化图表有什么快速的方法?“。鉴于我是一个比较宠粉的小编,几天就给大家推荐一个技巧,让你快速绘制出符合出版要求绘图技能。主要内容如下:
-
R-ggpubr包主要类型函数介绍
-
R-ggpubr包主要案列展示
-
更多详细的数据可视化教程,可订阅我们的店铺课程:
R-ggpubr包主要类型函数介绍
虽然在Python中我们也可以通过使用Matplotlib定制化出符合出版要求的图表,但这毕竟对使用者的绘图技能要求较高,当然也是还有部分轮子可以用的,详细请参考这篇:因为配图,SCI多次返修!?因为你还没发现这个Python科学绘图宝藏工具包。而我们今天则介绍一个高性能的R包-ggpubr,从名字就可以看出这个包的主要用途了。
-
官网: https://rpkgs.datanovia.com/ggpubr/index.html
-
几大绘图函数类型
这个包对于绘图类型分的较为详细,主要按照变量个数进行划分,详细介绍如下
-
「绘制一个变量-X,连续」
-
ggdensity(): 密度图
-
stat_overlay_normal_density(): 覆盖法线密度图
-
gghistogram(): 直方图
-
ggecdf(): 经验累积密度函数
-
ggqqplot(): QQ图
-
-
「绘制两个变量-X和Y,离散X和连续Y」
-
ggboxplot(): 箱形图
-
ggviolin(): 小提琴图
-
ggdotplot(): 点图
-
ggstripchart(): 条形图
-
ggbarplot(): 条形图
-
ggline(): 线图
-
ggerrorplot(): 错误图
-
ggpie(): 饼图
-
ggdonutchart(): 甜甜圈图
-
ggdotchart()、theme_cleveland(): 克利夫兰的点图
-
ggsummarytable()、ggsummarystats():添加摘要统计信息表
-
-
「绘制两个连续变量」
-
ggscatter(): 散点图
-
stat_cor(): 将具有P值的相关系数添加到散点图中
-
stat_stars(): 将星星添加到散点图中
-
ggscatterhist(): 具有边际直方图的散点图
-
-
「比较均值并添加p值」
-
compare_means(): 均值比较
-
stat_compare_means(): 将均值比较P值添加到ggplot
-
stat_pvalue_manual():手动将P值添加到ggplot
-
stat_bracket()、geom_bracket(): 将带有标签的括号添加到GGPlot
-
其他更多优秀函数,小伙伴们可自行查阅官网进行探索。
R-ggpubr包主要案列展示
-
Density plot
set.seed(1234)
wdata = data.frame(sex = factor(rep(c("F", "M"), each=200)),weight = c(rnorm(200, 55), rnorm(200, 58)))
ggdensity <- ggdensity(wdata, x = "weight", fill = "lightgray",add = "mean", rug = TRUE) +labs(title = "Example of <span style='color:#D20F26'>ggpubr::ggdensity function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>ggdensity()</span>",caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme( plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12),)
Density plot
-
Histogram plot
set.seed(1234)
wdata = data.frame(sex = factor(rep(c("F", "M"), each=200)),weight = c(rnorm(200, 55), rnorm(200, 58)))gghistogram <- gghistogram(wdata, x = "weight", fill = "sex",add = "mean", palette = c("lightgray", "gray50"),add_density = TRUE,rug = TRUE)+labs(title = "Example of <span style='color:#D20F26'>ggpubr::gghistogram function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>gghistogram()</span>",caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme( plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12),)
Histogram plot
-
QQ Plots
# Create some data format
set.seed(1234)
wdata = data.frame(sex = factor(rep(c("F", "M"), each=200)),weight = c(rnorm(200, 55), rnorm(200, 58)))# Basic QQ plot
ggqqplot <- ggqqplot(wdata, x = "weight") +labs(title = "Example of <span style='color:#D20F26'>ggpubr::ggqqplot function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>ggqqplot()</span>",caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme( plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12),)
QQ Plots
-
Scatter plot
# Load data
data("mtcars")
df <- mtcars
df$cyl <- as.factor(df$cyl)
ggscatter <- ggscatter(df, x = "wt", y = "mpg",add = "loess", conf.int = TRUE,cor.coef = TRUE, cor.coeff.args = list(method = "pearson", label.x = 5,label.y=35, label.size=25,label.sep = "\n"))+labs(title = "Example of <span style='color:#D20F26'>ggpubr::ggscatter function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>ggscatter()</span>",caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme( plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12),)
Scatter plot
-
Add Manually P-values to a ggplot
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
# Comparisons against reference
stat.test <- compare_means(len ~ dose, data = ToothGrowth, group.by = "supp",method = "t.test", ref.group = "0.5"
)bp <- ggbarplot(ToothGrowth, x = "supp", y = "len",fill = "dose", palette = "jco",add = "mean_sd", add.params = list(group = "dose"),position = position_dodge(0.8))
bp + stat_pvalue_manual(stat.test, x = "supp", y.position = 33,label = "p.signif",position = position_dodge(0.8)
) + labs(title = "Example of <span style='color:#D20F26'>ggpubr::stat_pvalue_manual function</span>",subtitle = "processed charts with <span style='color:#1A73E8'>stat_pvalue_manual()</span>",caption = "Visualization by <span style='color:#DD6449'>DataCharm</span>") +hrbrthemes::theme_ipsum(base_family = "Roboto Condensed") +theme( plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",size = 20, margin = margin(t = 1, b = 12)),plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),plot.caption = element_markdown(face = 'bold',size = 12),)
Add Manually P-values to a ggplot
-
Draw a Textual Table
# data
df <- head(iris)# Default table
table1 <- ggtexttable(df, rows = NULL)
table2 <- ggtexttable(df, rows = NULL, theme = ttheme("blank")) %>%tab_add_hline(at.row = 1:2, row.side = "top", linewidth = 2)
table1
table2
总结
今天推文我们介绍了「R-ggpubr」实现极少代码绘制出符合期刊要求的可视化图表,极大省去了绘制单独图表元素的时间,为统计分析及可视化探索提供非常便捷的方式,感兴趣的小伙伴可探索更多的绘图函数哦~~
相关文章:
统计绘图 | 一行代码教你绘制顶级期刊要求配图
在分享完即可统计又可可视化绘制的优秀可视化包后(具体内容可看 统计绘图 | 既能统计分析又能可视化绘制的技能 。就有小伙伴私信问我需要绘制出版级别的可视化图表有什么快速的方法?“。鉴于我是一个比较宠粉的小编,几天就给大家推荐一个技巧࿰…...
[ue5]建模场景学习笔记(6)——必修内容可交互的地形,交互沙(4)
1.需求分析: 现在我们已经有了可以在世界内近于无限的跑动痕迹,现在需要对痕迹进行细化,包括例如当人物跳起时便不再绘制痕迹,以及痕迹应该存在深浅,应该由两只脚分别绘制,同时也应该对地面材质进行进一步处…...
5.2 参照完整性
5.2.1 外键约束 语法格式:constraint < symbol > foreign key ( col_nam1[, col_nam2... ] ) references table_name (col_nam1[, col_nam2...]) [ on delete { restrict | cascade | set null | no action } ] [ on update { restrict | cascade | set nu…...
SpringCache 缓存 - @Cacheable、@CacheEvict、@CachePut、@Caching、CacheConfig 以及优劣分析
目录 SpringCache 缓存 环境配置 1)依赖如下 2)配置文件 3)设置缓存的 value 序列化为 JSON 格式 4)EnableCaching 实战开发 Cacheable CacheEvict CachePut Caching CacheConfig SpringCache 的优势和劣势 读操作…...
数据结构 —— 堆
1.堆的概念及结构 堆是一种特殊的树形数据结构,称为“二叉堆”(binary heap) 看它的名字也可以看出堆与二叉树有关系:其实堆就是一种特殊的二叉树 堆的性质: 堆中某个结点的值总是不大于或不小于其父结点的值&…...
【运维】如何更换Ubuntu默认的Python版本,update-alternatives如何使用
update-alternatives 是一个在 Debian 及其衍生发行版中(包括 Ubuntu)用于管理系统中可替代项的命令。它可以用于在系统中设置默认的软件版本,例如在不同版本的软件之间进行切换,比如不同的 Python 版本。 要在 Ubuntu 中使用 up…...
2024 年适用于 Linux 的 5 个微软 Word 替代品
对于那些最近由于隐私问题或其他原因而转向 Linux 的用户来说,可能很难替换他们最喜欢的、不在 Linux 操作系统上运行的应用程序。 寻找流行程序的合适替代品可能会成为一项挑战,而且并不是每个人都准备好花费大量时间来尝试弄清楚什么可以与他们在 Win…...
大模型日报2024-06-12
大模型日报 2024-06-12 大模型资讯 NVIDIA发布GB200 Grace Blackwell AI超级芯片 摘要: NVIDIA近日宣布推出GB200 Grace Blackwell超级芯片和Blackwell B200 GPU,这些新技术将推动人工智能领域的发展。 阿布扎比TII发布下一代Falcon语言模型 摘要: 阿布扎比的技术创…...
LVGL欢乐桌球游戏(LVGL+2D物理引擎学习案例)
LVGL欢乐桌球游戏(LVGL2D物理引擎学习案例) 视频效果: https://www.bilibili.com/video/BV1if421X7DL...
国产数字证书大品牌——JoySSL
一、品牌介绍 网盾安全旗下品牌JoySSL是专业的https安全方案服务商,业务涉及网络安全技术服务、安全防护系统集成、数据安全软件开发等。网盾安全以网络安全为己任,携手GlobalSign、DigiCert 、Sectigo等全球数家权威知名SSL证书厂商,加速ht…...
Codeforces Global Round 26 D. “a“ String Problem 【Z函数】
D. “a” String Problem 题意 给定一个字符串 s s s,要求把 s s s 拆分成若干段,满足以下要求: 拆分出来的每一个子段,要么是子串 t t t,要么是字符 a a a子串 t t t 至少出现一次 t ≠ " a " t \ne…...
Next.js 加载页面及流式渲染(Streaming)
Next.js 加载页面及流式渲染(Streaming) 在现代的 Web 应用开发中,用户体验是至关重要的。快速响应的页面加载和流畅的用户界面可以显著提升用户的满意度。而加载页面(Loading Page)和流式渲染(Streaming&…...
形如SyntaxError: EOL while scanning string literal,以红色波浪线形式在Pycharm下出现
背景: 新手在学习Python时可能会出现如下图所示的报错 下面分情况教大家如何解决 视频教程【推荐】: 形如SyntaxError: EOL while scanning string literal,以红色波浪线形式在Pycharm下出现 过程: 问题概述: 简单…...
DockerCompose+Jenkins+Pipeline流水线打包SpringBoot项目(解压安装配置JDK、Maven等)入门
场景 DockerCompose中部署Jenkins(Docker Desktop在windows上数据卷映射): DockerCompose中部署Jenkins(Docker Desktop在windows上数据卷映射)-CSDN博客 DockerJenkinsGiteeMaven项目配置jdk、maven、gitee等拉取代…...
Web前端开发个人技能全面剖析:四维度深度理解,五能力实战展现,六要素构建优势,七步骤持续精进
Web前端开发个人技能全面剖析:四维度深度理解,五能力实战展现,六要素构建优势,七步骤持续精进 在数字化浪潮的推动下,Web前端开发成为了互联网行业中的热门岗位,对个人的技能要求也越来越高。本文将从四个…...
如何让 uboot启动时自动执行指令?(执行“mtdparts default”命令)
让uboot启动时自动设置分区(执行“mtdparts default”命令),在uboot进入main_loop()死循环之前添加执行命令代码 run_command("mtdparts default", 0); #define MTDIDS_DEFAULT "nand0mini2440-nand" #define MTD…...
Java的集合框架总结
Map接口和Collection接口是所有集合框架的父接口: Collection接口的子接口包括:Set接口和List接口 Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等 Set接口的实现类主要有:HashSet、Tr…...
基于DenseNet网络实现Cifar-10数据集分类
目录 1.作者介绍2.Cifar-10数据集介绍3.Densenet网络模型3.1网络背景3.2网络结构3.2.1Dense Block3.2.2Bottleneck层3.2.3Transition层3.2.4压缩 4.代码实现4.1数据加载4.2建立 DenseNet 网络模型4.3模型训练4.4训练代码4.5测试代码 参考链接 1.作者介绍 吴思雨,女…...
我的“工具”库
#使用到的工具# { 网页版的VScode: www.vscode.dev} {网页版JSON文件编辑器: JSON Editor Online: edit JSON, format JSON, query JSON } {网页版XML文件编辑器: Best Online XML Viewer, XML Formatter, XML Editor, Analyser, Be…...
Pytorch常用函数用法归纳:Tensor张量之间的计算
1.torch.add() (1)函数原型: torch.add(input, other, alpha, out) (2)参数说明: 参数名称参数类型参数说明inputtorch.Tensor表示参与运算的第一个输入Tensor张量othertorch.Tensor或者Number表示参与运算的第二个输入Tensor张量或标量alphaNumber, optional一个可选的缩放…...
小公司要求真高
大家好,我是白露啊。 最近看到一个爽文帖,标题就是——“小公司要求真高”。 事情是这样的,一家的小公司在拿到简历之后,HR直接对楼主说:“你不合适,简历不行。” 言外之意就是嫌弃简历单薄,看…...
进阶篇02——索引
概述 结构 B树索引 在这里推荐一个可以将个各种数据结构可视化的网站:数据结构可视化 哈希索引 相关的一个面试题 分类 聚集索引和二级索引(非聚集索引) 思考题:索引思考题 创建索引语法 如果一个索引关联多个字段ÿ…...
三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用
三:SpringBoot的helloworld和使用Springboot的优点以及快速创建Springboot应用 一:HelloWorld [我们创建的是maven项目或者直接创建一个Spring] 1.1:创建一个maven 项目(1】:需要自己手动写一个SpringBoot 的启动类同…...
网络仿真方法综述
目录 1. 引言 2.仿真器介绍 2.1 NS-2 2.2 NS-3 2.3 OPNET 2.4 GNS3 3.仿真对比 4.结论 参考文献 1. 引言 网络仿真是指使用计算机模拟网络系统的行为和性能的过程。在网络仿真中,可以建立一个虚拟的网络环境,并通过模拟各种网络设备、协议和应用程…...
Android-Q升级-Camera记录
目录 代码环境 建立Android Q使用的camera仓 Camera底层适配 camx 原生接口变化 其他编译问题 chi-cdk 数据类型不匹配 case未加break的报错 libalRnBRT_GL_GBWRAPPER链接问题 vidhance编译错误 libarcsat链接问题 vendor/qcom/proprietary prebuilt_HY11 调试cam…...
Android studio如何导入项目
打开解压好的安装包 找到build.gradle文件 打开查看gradle版本 下载对应的gradle版本Index of /gradle/(镜像网站) 下载all的对应压缩包 配置gradle的环境变量 新建GRADLE_HOME 将GRADLE_HOME加入到path中 将项目在Android studio中打开进行配置 将gr…...
PHP实现一个简单的接口签名方法以及思路分析
文章目录 签名生成说明签名生成示例代码签名校验示例代码 签名生成说明 B项目需要调用A项目的接口,由A项目为B项目分配 AccessKey 和 SecretKey,用于接口加密,确保不易被穷举,生成算法不易被猜测。 最终需要确保包含签名的参数只…...
StartAI”梦想合伙人 ”招募计划
我们正火热招募AI设计师产品合伙人!如果你对AI技术充满好奇,对设计有着独特的见解和热情,亦或者你想在日常的设计工作中提高效率,无论你是电商设计师、UI设计师、建筑师、插画师等其他各类设计领域的人才。那么这就是你不容错过的…...
记录:podman安装redis
Linux系统上安装redis: podman pull redis # 拉取最新的redis版本 podman images # 查看所有本地的镜像,包括刚拉取的redis镜像mkdir -p /etc/redis/conf /etc/redis/data # 创建2个目录文件,保存redis的数据和配置文件 tou…...
TrinityCore启动报错: MySQL library version (8.0.37 id 80037) does not match
TrinityCore启动的时候报错: TrinityCore/src/server/database/Database/DatabaseWorkerPool.cpp:73 in DatabaseWorkerPool FATAL ERROR: Used MySQL library version (8.0.37 id 80037) does not match the version id used to compile TrinityCore (id 80036). S…...
做网站需要编程?/清远疫情防控措施
spark入门实战http://www.cnblogs.com/shishanyuan/p/4699644.html转载于:https://blog.51cto.com/wilsonking/1747157...
联通官网/网站关键字优化公司
假设一个项目中,A、B两个类是调用链的关系(如,A中方法调用B中方法): 那么,假如B的方法中需要的参数,既可以从A中调用时传入,也可以直接从B中插入,那么该参数应当尽量从A中调用时传入,…...
长春做网站优化/淘宝关键词排名优化
初次接触这两个接口也许会混淆,其实接口的命名就是对功能的绝佳描述,resize就是重新分配大小,reserve就是预留一定的空间。这两个接口即存在差别,也有共同点。下面就它们的细节进行分析。 为实现resize的语义,res…...
长安h5网站建设/怎么做私人网站
阅读本文前,请您先点击上面的房产兮,再点击“关注”,这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅,请放心关注一租客自己安装了空调,当要搬走的时候,房东不让他拆管道,而…...
三明北京网站建设/2021年10月新闻摘抄
Jenkins 编辑 讨论 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成 [1]...
关键词网站/项目推广网
随着敏捷日益成为主流,各种各样的敏捷会议召开,一本又一本的敏捷图书出版,一个又一个的公司前赴后继的迈向敏捷,好一番火热景象。这让我回忆起了当年看报时的一个感受,当时每张报纸的显眼处都能看到牛皮癣和肝病的广告…...