Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ggplot2散点图直方图条形图

ggplot2散点图直方图条形图

作者头像
生信喵实验柴
发布于 2022-10-25 11:58:01
发布于 2022-10-25 11:58:01
56700
代码可运行
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴
运行总次数:0
代码可运行

背景

熟悉ggplot2绘图,有一本书,可以介绍大家使用,《R数据可视化手册》第二版

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://www.bookdown.org/

可以在上述网址中找到网页版本。

书中的例子代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(gcookbook)
uspop
colnames(uspopage)
ggplot(data = uspopage,mapping = aes(x=Year,y=Thousands,fill =AgeGroup)) +
  geom_area()

一、散点图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- read.table("prok_representative.csv",sep = ",",header = T);  
head(x)
ggplot(data = x,aes(x=Size,y=Genes))+geom_point()
ggplot(data = x,aes(x=Size,y=Genes))+geom_point(size=1,color="blue")
fit <- lm(data = x,Genes~ Size)
summary(fit)
fit 
ggplot(data = x,aes(x=Size,y=Genes))+geom_point(size=1,color="blue")+
  geom_abline(intercept = 286.6,slope = 843.7,col="red",lwd=1)
p <- ggplot(data = x,aes(x=Size,y=Genes))+geom_point(size=1,color="blue")+geom_abline(intercept = 286.6,slope = 843.7,col="red",lwd=1)
p+annotate(geom = "text",x=4,y=10000,label="y=286x+843.7\nR2=0.9676")
p+annotate(geom = "text",x=4,y=10000,label="y=286x+843.7\nR2=0.9676")+
  labs(title="Genome Size vs Gene Number",x="Genome Size",y="Genes")

ggplot2 绘制基因组大小与基因数目相关性图

二、直方图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- read.table("H37Rv.gff",sep = "\t",header = F,skip = 7,quote = "")  
x <- x[x$V3=="gene",]  
x <- abs(x$V5-x$V4+1)  
length(x)  
range(x)  
ggplot(data = NULL,aes(x=x))
ggplot(data = NULL,aes(x=x))+geom_histogram(bins = 80)
ggplot(data = NULL,aes(x=x))+geom_histogram(bins = 80)+geom_rug()
# library(dplyr)
# x <- read.table("H37Rv.gff",sep = "\t",header = F,skip = 7,quote = "") 
# x %>% dplyr::filter(V3 == 'gene') %>% dplyr::mutate(gene_len = abs(V5-V4)+1)%>% ggplot(aes(x=gene_len))+geom_histogram(bins=80)
# x %>% dplyr::filter(V3 == 'gene') %>% dplyr::mutate(gene_len = abs(V5-V4)+1)%>% ggplot(aes(x=gene_len))+geom_histogram(bins=80,fill='cyan',color='black') + geom_rug()+theme_light()+labs(title='Histogram')

ggplot2 绘制基因长度分布直方图

三、条形图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# hg19_len <- read.csv(file = "homo_length.csv",header = T)
# x <- hg19_len[1:24,]   
# head(x)
# ggplot(data = x,aes(x=chr,y=length,fill=chr))+geom_bar(stat = "identity")
# p <- ggplot(data = x,aes(x=chr,y=length,fill=chr))+geom_bar(stat = "identity")
# p+scale_x_discrete(limits=x$chr)
# p+scale_x_discrete(limits=x$chr)+coord_flip()
# p+scale_x_discrete(limits=x$chr)+coord_flip()+guides(fill=FALSE)

x <- read.csv(file = "homo_length.csv",header = T)
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24])
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length,fill=chr)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24]) + scale_fill_manual(values=rainbow(24))
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24]) +
  coord_flip()
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length,fill=chr)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24]) +
  coord_flip() + scale_fill_manual(values = c(rep('red',24)))
library(RColorBrewer)
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length,fill=chr)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24]) +
  coord_flip() + scale_fill_manual(values = c(rep(brewer.pal(4,'Set1'),6)))
x %>% dplyr::slice(1:24) %>% ggplot(aes(x=chr,y=length,fill=chr)) + geom_bar(stat = 'identity')+ scale_x_discrete(limits=x$chr[1:24]) +
  coord_flip() + scale_fill_manual(values = c(rep(brewer.pal(4,'Set1'),6))) +
  guides(fill='none')

ggplot2 绘制人染色体长度分布图

写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bioinfoer.com

有些板块也可以预设为大家日常趣事的分享等,欢迎大家来提建议。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ggplot2|详解八大基本绘图要素
ggplot2是由Hadley Wickham创建的一个十分强大的可视化R包。按照ggplot2的绘图理念,Plot(图)= data(数据集)+ Aesthetics(美学映射)+ Geometry(几何对象)。本文将从ggplot2的八大基本要素逐步介绍这个强大的R可视化包。
生信补给站
2020/08/05
7.2K0
ggplot2|详解八大基本绘图要素
ggplot2 3.3.0版本更新内容
原来ggplot只有两种scale的类型,即continuous和discrete,在新版本中加了一种新的类型,可以将连续型的数据根据bin变成离散型的。如下所示:
生信编程日常
2020/04/01
7500
ggplot2 3.3.0版本更新内容
你还缺scRNA-seq的workflow吗?
之前曾老师给我看了一位在pipebio工作的生信工程师Roman Hillje的scRNA-seq的workflow,今天整理一下分享给大家。
生信菜鸟团
2024/07/31
3680
你还缺scRNA-seq的workflow吗?
ggplot2分组条形图饼图箱线图
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。
生信喵实验柴
2022/10/25
8140
ggplot2分组条形图饼图箱线图
R可视化之美化功能富集条形图
基因集富集分析是很常见的分析内容,可视化展示的方式也多样。本文提供两组分组间的差异表达基因集的功能富集结果的一些相对美观的可视化方式。
生信技能树jimmy
2021/11/04
2.5K0
全网最全的R语言基础图形合集
直方图是一种对数据分布情况进行可视化的图形,它是二维统计图表,对应两个坐标分别是统计样本以及该样本对应的某个属性如频率等度量。
生信学习者
2024/06/12
1000
全网最全的R语言基础图形合集
是Excel的图,不!是R的图
excel作为一个强大的统计工具,自身包含着一部分数据可视化的功能。R作为可视化的大势,自然也可以画出这些图,有一篇就通过ggplot2包进行了部分总结,甚是有趣,小编复刻学习了一番,现对代码做简单注释,以作分享。
生信宝典
2019/08/01
4.1K0
是Excel的图,不!是R的图
[010] R语言中酷炫可视化的ggplot2如何在Python中实现?
Plotnine is the implementation of the R package ggplot2 in Python. It replicates the syntax of R package ggplot2 and visualizes the data with the concept of the grammar of graphics. It creates a visualization based on the abstraction of layers. When we are making a bar plot, we will build the background layer, then the main layer of the bar plot, the layer that contains title and subtitle, and etc. It is like when we are working with Adobe Photoshop. The plotnine package is built on top of Matplotlib and interacts well with Pandas. If you are familiar with the ggplot2, it can be your choice to hand-on with plotnine.
Sam Gor
2020/12/02
1.9K0
[010] R语言中酷炫可视化的ggplot2如何在Python中实现?
ggplot2|发散性“正负”图
前面介绍了一些ggplot绘图,ggplot2|从0开始绘制直方图,ggplot2|从0开始绘制箱线图,ggplot2|从0开始绘制折线图,这次介绍一下当数据为发散性正负值的时候,几种比较合适的展示方式。
生信补给站
2020/08/06
1.1K0
「R」数据可视化4 : 直方图/条形图
本文作者蒋刘一琦,自嘲是一个有艺术追求的生信狗,毕业于浙江大学生物信息学专业,目前在复旦大学就读研究生,研究方向为宏基因组。
王诗翔呀
2020/07/06
2.9K0
「R」数据可视化4 : 直方图/条形图
R语言绘图之ggplot2包「建议收藏」
6月份一直在忙期末考试,今天来迅速的学习下ggplot2包的简单绘图。 R的基础包里面也有很多画图函数,例如plot();barplot();qqplot(); 但是还有大名鼎鼎的ggplot2包,用这个包的函数画出的图比较漂亮,而且使用灵活。
全栈程序员站长
2022/07/23
2.2K0
R语言绘图之ggplot2包「建议收藏」
超强脑洞第三弹之——ggplot构造瀑布图
对,就是瀑布图,你没看错。而且是使用ggplot现有图层叠加构造,并没有用任何ggplot的外挂插件。 作图理念是在数据源的构造上,方法与《Excel图表之道》《Excel图表拒绝平庸》中的方法一致,我只是加入了自己的技巧。 library("reshape2") library("ggplot2") library("ggmap") library("Cairo") 构造瀑布图数据源: Item<-c("Before","Factor A","Factor B","Factor C","Factor D"
数据小磨坊
2018/04/11
1.1K0
超强脑洞第三弹之——ggplot构造瀑布图
高阶可视化绘图系统:ggplot2入门
ggplot2是《The Grammar of Graphics》/《图形的语法》中提出了一套图形语法,将图形元素抽象成可以自由组合的要素,类似Photoshop中的图层累加,ggplot2将指定的元素/映射关系逐层叠加,最终形成所图形。更加深入学习ggplot2,请参考《ggplot2: 数据分析与图形艺术》。
1480
2019/07/22
1.7K0
高阶可视化绘图系统:ggplot2入门
ggplot2修改坐标轴详细介绍
ggplot2的每个细节都是可以修改的,非常推荐大家系统学习一下,用到再学确实是一种不错的方式,但是如果要提高进阶,还是有必要系统学习的。
医学和生信笔记
2022/11/15
12K0
ggplot2修改坐标轴详细介绍
生信技能树 R语言入门 ggplot2画图
ggplot常用的五个参数:color, size, shape, alpha, fill;shape有25中形状
大茗
2023/04/05
8410
跟着Nature学作图:R语言ggplot2频率分布直方图/堆积柱形图/散点图
https://www.nature.com/articles/s41586-022-04808-9#MOESM8
用户7010445
2023/01/06
1.3K0
跟着Nature学作图:R语言ggplot2频率分布直方图/堆积柱形图/散点图
ggplot2|绘制GO富集柱形图
生信分析中经常会得到一些基因,然后做GO富集分析,达到对基因进行注释和分类的目的。
生信补给站
2020/08/05
12.3K1
ggplot2优雅的绘制配对气泡图
Step1. R包和数据加载、主题设置 测试数据在: 链接:https://pan.baidu.com/s/1MuMgMZZCcdO-IGS7_ysfkQ?pwd=1234 提取码:1234 libr
生信菜鸟团
2023/08/23
5000
ggplot2优雅的绘制配对气泡图
跟着Molecular Systems Biology学作图:R语言ggplot2多图组合到一起
https://www.embopress.org/doi/full/10.15252/msb.202110625
用户7010445
2021/12/09
6540
跟着Molecular Systems Biology学作图:R语言ggplot2多图组合到一起
如何通过Google来使用ggplot2可视化
今天是大年初二,这篇文章我只想传达一点: 没有什么菜鸟级别的生物信息学数据处理是不能通过Google得到解决方案的,如果有,请换个关键词继续Google! 第一部分 首先用两分钟的时间简单介绍一下R语言: 因为这个语言是肉丝儿(Ross Ihaka)和萝卜特(Robert Gentleman)两个人1992年在S语言的基础上发明出来的开源语言,所以叫做R语言。这两个人是统计学教授出身,所以R语言在统计学方面有着纯正的血统!如果你平时的工作和统计相关,你好意思不会点R语言么? 另外,在R语言的官网上,有这样一
生信技能树
2018/03/08
2K0
如何通过Google来使用ggplot2可视化
相关推荐
ggplot2|详解八大基本绘图要素
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验