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

相关文章

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

填坑-celery正常启动后能收到任务但不执行任务的解决办法

场景 Flask开发中用celery 6正常启动后能收到任务但不执行任务的解决办法,也没有错误提示…… INFO/MainProcess] Task app.add_together[ce406ed8-71b3-49e6-8556-f44bfe66549c] received[2024-06-20 19:38:10,632: INFO/SpawnPoolWorker-36] child p

为什么Mid journey很容易就能做出很有氛围感的图而SD却容易做图很丑?

前言 6月12日,Midjourney更新了一项新的功能——模型个性化,这一项功能最重要的作用就是能够让生成的图像更加符合你自己的审美标准。就像每个艺术家都有自己的独特风格一样,有了这项模型个性化功能的加持,每个人都能生成具有鲜明的个人风格的AI绘画作品!! 模型个性化的原理 不知道大家有没有一个感觉,每次你写提示时,都会有很多东西出现在了你的想象和审美认知中,但却“未说出口”。模型个性化就

Android WebView填坑记录

http://blog.csdn.net/xueshanhaizi/article/details/51524805 http://blog.csdn.net/xueshanhaizi/article/details/51524805 http://blog.csdn.net/xueshanhaizi/article/details/51524805 前言

Git遇坑填坑系列

Git遇坑填坑系列 1、git 出现 fatal: refusing to merge unrelated histories 错误 git pull 失败 ,提示:fatal: refusing to merge unrelated histories 其实这个问题是因为 两个 根本不相干的 git 库, 一个是本地库, 一个是远端库, 然后本地要去推送到远端, 远端觉得这个本地库跟自己不

Mediapipe 在RK3399PRO上的初探(一)(编译、运行CPU和GPU Demo, RK OpenglES 填坑,编译bazel)

PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。 前置说明   BlogID=103 环境说明 Ubuntu 18.04gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)OpenGl ES 3.1 or 3.1+RK3399PRO 板卡 前言   由于我们小组的产品

ggplot2又添新神器——ggthemr助你制作惊艳美图

今天在浏览ggplot扩展插件目录的时候,又发现了一款神器——ggthemr。 这是继ggplot2的ggtheme包、RColorBrewer包之后(不算ggtech和ggsci这两个小众包)第三款ggplot配色神器。 既然是神器,那肯定功能超级强大喽,下面就讲讲它强大在哪儿~ 这个包里面提供了将近20宽完善的配色和主题风格模板。每一个模板都拥有完善的标度和主题设定(包括离散标度和连续标

ggplot2包介绍学习

分析数据要做的第一件事情,就是观察它。对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将绘图与数据分离,数据相关的绘图与数据无关的绘图分离ggplot2是按图层作图ggplot2保有命令式作图的调整函数,使其更具灵活性ggplot2将常见的统计变换融入到了绘图中。ggplot的绘图有以下几个特点:第一,有明确的起始(以gg

如何用R语言ggplot2画高水平期刊散点图

文章目录 前言一、数据集二、ggplot2画图1、全部代码2、细节拆分1)导包2)创建图形对象3)主题设置4)轴设置5)图例设置6)散点颜色7)保存图片 前言 一、数据集 数据下载链接见文章顶部 处理前的数据: library(readxl)library(reshape2) # reshape2 包是 R 语言中的一个数据处理包,主要用于数据重