ggplot2做图(填坑中)

2023-12-12 06:59
文章标签 填坑 做图 ggplot2

本文主要是介绍ggplot2做图(填坑中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据

df <- data.frame(x = 1:10, y = 1:10, row.names = paste0("s", 1:10))
metadata <- data.frame(f1 = c(rep("A", 5), rep("B", 5)), f2 = c(rep("C", 3), rep("D", 4), rep("E", 3)),row.names = paste0("s", 1:10))

结果存储

outdir <- "plots"
if(! dir.exists(outdir)) { # 判断目录是否存在dir.create(outdir) # 创建目录
}

做图

1. 散点图 (scatter plot)

library(ggplot2)
library(ggpubr)# scatter plot
Scatter_plot <- function(df, metadata) {identical(rownames(df), rownames(metadata)) # 判断df和metadata的行名是否完全一致(内容和顺序)data <- cbind(df, metadata) # 按列合并df和metadataggplot(data, aes(x = x, y = y, color = f1)) + geom_point() +geom_smooth(method = lm, linetype = 1, se = FALSE, span = 1) + # 趋势线stat_cor(method = "spearman",label.x = 4, label.y = 9) + # library(ggpubr)expand_limits(x = c(0, 12), y = c(0, 12)) + # 设置坐标轴范围xlab("X") + # 设置X轴名称ylab("Y") + # 设置Y轴名称scale_color_discrete(name = "Group") + # 设置图例名称theme_bw() + theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_blank(),axis.text.x = element_text(angle = 90, hjust = 0.5, vjust = 0.5))
}scatter_plot <- Scatter_plot(df, metadata)
ggsave(filename = paste0(outdir, "/scatter_plot.pdf"), plot = scatter_plot, width = 5, height = 5)

2. 箱型图 (box plot)

# box plot
Boxplot <- function(df, metadata) {identical(rownames(df), rownames(metadata)) # 判断df和metadata的行名是否完全一致(内容和顺序)data <- cbind(df, metadata) # 按列合并df和metadataggplot(data, aes(x = f1, y = y, color = f1)) +geom_boxplot(outlier.shape = NA) +scale_colour_manual(values = brewer.pal(8, "Pastel2")) +geom_jitter(aes(color = f1), shape = 1, width = 0.2) +facet_wrap(~f1 + f2, scales = "free_x") +xlab("X") + ylab("Y") + theme_bw() + theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_blank())
}boxplot <- Boxplot(df, metadata)
ggsave(filename = paste0(outdir, "/box_plot.pdf"), plot = scatter_plot, width = 5, height = 5)

# box plot with wilcoxon test
Boxplot2 <- function(df, metadata) {identical(rownames(df), rownames(metadata)) # 判断df和metadata的行名是否完全一致(内容和顺序)data <- cbind(df, metadata) # 按列合并df和metadataggplot(data, aes(x = f2, y = y, color = f2)) +geom_boxplot(outlier.shape = NA) +scale_colour_manual(values = brewer.pal(8, "Pastel2")) +geom_jitter(aes(color = f2), shape = 1, width = 0.2) +geom_signif(comparisons = list(c("C", "D"), c("C", "E")), test = "wilcox.test", textsize = 2, step_increase = 0.1,test.args = list(exact = FALSE, correct = FALSE, conf.int = TRUE, conf.level = 0.95)) + # 添加wilcoxon test结果,并使不同分组的检验间隔0.01xlab("X") + ylab("Y") + theme_bw() + theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_blank())
}boxplot2 <- Boxplot2(df, metadata)
ggsave(filename = paste0(outdir, "/box_plot2.pdf"), plot = boxplot, width=5, height=5)

3. 柱状图 (bar plot)

4. 堆积柱状图 (stacked bar chart)

5. 热图 (heatmap)

6. 三元相图 (Ternary plot)

代码

这篇关于ggplot2做图(填坑中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483668

相关文章

全能AI神器!工作效率提升80倍!Zmo.ai带你玩转AI做图!

今天,我要给大家介绍一款神器:Zmo.ai。 这个平台简直是做图神器,集多种功能于一身,让你像专业人士一样轻松创建和编辑图像,不需要任何美术与设计基础,真的非常适合我们这些“手残党”! 我们只需单击按钮即可从文本或图像生成令人惊叹的 AI 艺术、图像、动漫和逼真的照片,最关键的是它的功能真的很全啊! Zmo.ai旗下产品分类: AI照片生成器 AI动漫生成器 AI照片编辑器 A

uni-app填坑指南——解决处理处理静态资源的问题

说实在话,这个标题其实有点夸大了。 uni-app并没有不解决,而是解决的不够充分不够彻底。这里我们来讨论一下uni-app在处理静态资源的问题上的一些不足之处。 1. 问题描述 在uni-app中,我们可以将静态资源放在static目录下,然后通过相对路径的方式引用。比如我们有一个图片资源logo.png,我们可以通过<img src="@/static/logo.png" />的方式引用。

填坑之路-记录Redis操作的异常QueryTimeoutException RedisCommandTimeoutException: Command timed out after 1 min

默认配置 1.命令执行的默认超时时间为1分钟 2.默认的Lettuce集群配置里面才有命令执行超时时间,源码请看:LettuceConnectionFactory 3.修改命令超时时间,请手动修改配置构造器中的配置:LettucePoolingClientConfiguration.LettucePoolingClientConfigurationBuilder 中的setCommandTime

Android 微信支付_扫码支付,我来帮你填坑!

0.概述: 本文讲的是微信支付中的扫码支付的模式二:该模式下,二维码链接由微信支付返回给商户,商户将得到的二维码链接转成二维码图片,用户通过扫码支付,此方式下生成的二维码2小时内有效。 微信支付官网地址:https://pay.weixin.qq.com/wiki/doc/api/index.html 1.扫码支付步骤: 调用统一下单接口可获取到一个二维码链接参数code_url调用第

ggplot2高效实用指南 (可视化脚本、工具、套路、配色)

作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源 ggplot2学习笔记之图形排列 R包ggseqlogo |绘制序列分析图 编者按:数据可视化是解析、理解和展示数据不可缺少的一部分。炫或不炫看个人喜好和功底,能否达意是最基本的要求---最合适的图示和配色表达最直观的含义。长文多图预警,这是关于ggplot2使用的极详细教程(190+图),是入门和晋级

MOT python版本填坑

多目标跟踪数据集  MOT:https://motchallenge.net/ 多目标跟踪数据集 检测文件标注格式: <frame>, <id>, <bb_left>, <bb_top>, <bb_width>, <bb_height>, <conf>, <x>, <y>, <z> 1.    1, -1, 794.2, 47.5, 71.2, 174.8, 67.5, -1, -1

R语言可视化入门——使用ggplot2将模拟结果可视化

目录 零、引言一、数据生成二、单参数的展示(不同方法和案例)三、双参数的展示(不同方法和案例)四、后期服务 零、引言 在做科研时候,往往会设计不同的案例,不同参数和不同方法来说明自己模型(方法)的可行性。但是如何将这些元素展现在一张图上就至关重要,本文主要介绍了不同案例不同方法参数下基于ggplot2系统的可视化。具体细节没有细致的讲解,感兴趣的可以自行学习。 一、数据生成

markdown使用下使用mermaid做图

之前好像做过相关的笔记,但是一时不知道放到哪儿去了,这里再来快速的学习一下 mermaid主页的展示图 程序流程图 graph TD; //TD表示上下结构,很好理解, T->top, D->down / B->bottom. 当然类似的还要, R->right, L->left .//所以组合有从上倒下,从下到上。 从左到右,从右到左。A-->B;A-->C;B-->D;C--

shiny + bootstrap + shinythemes + ggplot2 + sunburst 动态交互式可视化web框架搭建

利用shiny + bootstrap + shinythemes + ggplot2 + sunburst 搭建自己的交互式可视化web

Caffe 深度学习 安装 填坑

记录自己安装caffe过程中遇到的坑 参考:   http://ouxinyu.github.io/Blogs/20151108001.html                             http://ouxinyu.github.io/Blogs/20140723001.html   http://blog.csdn.net/lxh19920114/article/det