给你一些代码,你慢慢研究:
成都创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、成都做网站、成都网站建设、网站优化、软件开发、网站改版等服务,在成都十载的网站建设设计经验,为成都1000+中小型企业策划设计了网站。
install.packages('ggplot2')
library(ggplot2)
ggplot(a)+geom_bar(aes(x1,y,fill/col=x1/x2),position='dodge',stat='summary',fun='sum'/'mean')条形图+theme(text = element_text(family='Kai'))
ggplot(a)+geom_boxplot(aes(x1,y,col=x1/x2))箱线图
ggplot(a)+geom_point(aes(x1,y,col=x1/x2),position=position_jitter(width=0.04))散点图
1+geom_point(aes(x1,y,col=x1/x2),stat='summary',fun='sum'/'mean')+散点
2+geom_line(aes(x1,y,group=1/x2,col=x1/x2),stat='summary',fun='sum'/'mean')+折线
3+geom_errorbar(aes(x=x1,ymin=y-se,ymax=y+se,col=x1/x2),position=position_dodge(0.9),width=0.2)+误差棒
4+geom_text(aes(x1,y,label=marker,col=x1/x2),position=position_dodge(0.9)vjust=2或y+2)+显著字母
ggplot(a,aes(x1,y,fill/col=x1/x2))+geom_bar(position='dodge',stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)条形图+误差棒+显著字母(坐标写一次即可)
ggplot(a,aes(x1,y,col=x1/x2))+geom_point(position=position_jitter(width=0.04),stat='summary',fun='sum'/'mean')+geom_line(aes(group=1/x2),stat='summary',fun='sum'/'mean')+geom_errorbar(aes(ymin=y-se,ymax=y+se),position=position_dodge(0.9),width=0.2)+geom_text(aes(label=marker),position=position_dodge(0.9),vjust=-2)散点图+折线+误差棒+显著字母(坐标写一次即可)
+geom_density(aes(y=liqi))密度图(1个数值型)
+geom_area(aes(x=tan,y=liqi))区域图(2个数值型)
+geom_smooth(aes(x=tan,y=liqi,group/col=chong),formula=y~x,method='lm',se=F)拟合图,分组/线条颜色(2个数值型)
+facet_wrap(~riqi,ncol/nrow=2,labeller='label_both/value')分面图,每行或每列分面数,分面标题
+xlab('自变量1(单位)')+ylab('因变量(单位)')+scale_fill_discrete(name='自变量2')更改轴和图例名称+coord_cartesian(ylim= c(0,80))限定轴范围
(fill=x1/x2,有此即可变色)+scale_fill_manual(values = c('grey70', 'grey50', 'grey30'))改变条形填充颜色(颜色数量=分组数量)
(col=x1/x2,有此即可变色)+scale_color_manual(values = c('red', 'orange', 'yellow'))改变颜色(颜色数量=分组数量)
散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标。散点图可以用R自带的plot()函数绘制,也可以用ggplot2包的geom_point()和 geom_dotplot()函数来绘制,当使用geom_dotplot()绘图时,point的形状是dot,不能改变点的形状,因此,geom_dotplot 叫做散点图(Scatter Plot),通过绘制点来呈现数据的分布,对点分箱的方法有两种:点密度(dot-density )和直方点(histodot)。当使用点密度分箱(bin)方式时,分箱的位置是由数据和binwidth决定的,会根据数据进行变化,但不会大于binwidth指定的宽度;当使用直方点分箱方式时,分箱有固定的位置和固定的宽度,就像由点构成的直方图(histogram)。
基本语法:
x 横坐标 x 轴的数据集合;
y 纵坐标 y 轴的数据集合;
type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点;
main:图表标题;
xlab、ylab x 轴和 y 轴的标签名称;
xlim、ylim x 轴和 y 轴的范围;
axes 布尔值,是否绘制两个 x 轴。
p:点图;
l:线图;
b:同时绘制点和线;
c:仅绘制参数 b 所示的线;
o:同时绘制点和线,且线穿过点;
h:绘制出点到横坐标轴的垂直线;
s:阶梯图,先横后纵;
S:阶梯图,先纵后竖;
n: 空图。
美化后的散点图
散点图矩阵是借助两变量散点图的作图方法,它可以看作是一个大的图形方阵,其每一个非主对角元素的位置上是对应行的变量与对应列的变量的散点图。而主对角元素位置上是各变量名,这样,借助散点图矩阵可以清晰地看到所研究多个变量两两之间的相关关系。散点图矩阵就是把数据集中的每个数值变量两两绘制散点图,这里我们用pairs()函数绘制。
把直方图放在对角线上
geom_point()函数用于创建散点图。散点图对于显示两个连续变量之间的关系最有用。它可以用于比较一个连续变量和一个类别变量,或者两个类别变量,但是像geom_jitter()、geom_count()或geom_bin2d()这样的变体通常更合适。气泡图是一个散点图,第三个变量映射到点的大小。
首先,下载并安装好R软件。打开R软件,可以看到R软件主窗口。
为了方便编辑代码,一般不在主窗口直接输入程序。我们可以点击“文件——新建程序脚本”,出现R编辑器。我们将在此输入需要运行的命令。
使用因子格式输入数据。这里输入两组数据,以便后面说明详细使用方法。
输入命令plot(x),表示绘制序列x的散点图。选中程序,右键,点击“运行当前行或选中代码”,运行程序。按F5键或者Ctrl+R键也可以实现。在图标显示框出现散点图了。
输入命令plot(x,y),其中x表示自变量,y是因变量,生成y关于x的散点图。运行命令,即出现散点图。
再增加一组数据,用coplot函数绘制多变量的散点图。coplot(x~m|y)表示在不同的y值下,x关于m的散点图。
7
更多可以查阅相关资料,绘制更美观的散点图。
前面我给大家详细介绍过
☞GO简介及GO富集结果解读
☞四种GO富集柱形图、气泡图解读
☞GO富集分析四种风格展示结果—柱形图,气泡图
☞KEGG富集分析—柱形图,气泡图,通路图
☞ DAVID GO和KEGG富集分析及结果可视化
也用视频给大家介绍过
☞ GO和KEGG富集分析视频讲解
最近有粉丝反映说,利用clusterProfiler这个包绘制GO富集分析气泡图和柱形图的时候,发现GO条目的名字都重叠在一起了。
气泡图
柱形图
这个图别说美观了,简直不忍直视。经过我的认真研究,发现跟R版本有关。前面我给大家展示的基本都是R 3.6.3做出来的图。很多粉丝可能用的都是最新版本的R 4.1.2。
我们知道R的版本在不停的更新,相应的R包也在不停的更新。我把绘制气泡图和柱形图相关的函数拿出来认真的研究了一下,终于发现的症结所在。
dotplot这个函数,多了个 label_format 参数
我们来看看这个参数究竟是干什么用的,看看参数说明
label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters
原来这个参数默认值是30,当标签的长度大于30个字符就会被折叠,用多行来展示。既然问题找到了,我们就来调节一下这个参数,把他设置成100,让我们的标签可以一行展示。
是不是还是原来的配方,还是熟悉的味道
同样的柱形图,我们也能让他恢复原来的容貌。
关于如何使用R做GO和KEGG富集分析,可参考下文
GO和KEGG富集分析视频讲解