plot(iris[,1],iris[,3],col=iris[,5])
text(6.5,4, labels = 'hello')
library(ggpubr)
p = ggboxplot(iris, x = "Species", y = "Sepal.Length",color = "Species",shape = "Species",add = "jitter");p
my_comparisons <- list(c("setosa","versicolor"),
c("setosa","verginica"),
c("versicolor","verginica"))
p + stat_compare_means(comparisons = my_comparisons,
aes(label = after_stat(p.signif)))
作图:base, ggplot2, ggpubr
拼图:par里的mfrow, grid.arrange, cowplot, patchwork
导出:经典三段论、ggsave、eoffice-topptx
#ggsave服务于ggplot2
#eoffice可将图导出为ppt内可编辑元素
高级/低级绘图函数
#高级绘图函数可独立于其它函数,低级绘图函数:用于在图中添加元素
高级绘图函数:
低级绘图函数:
plot(iris,1,iris,3,col=iris,5) text(6.5,4,labels = "hello") #plot()和text()分别为高级/低级绘图函数,须一起运行,单独运行text()则无法运行
ggplot2:
灰色背景
ggpubr:
ggplot2青春版,图片好看一些,ggplot2也可以用代码进行调整
ggplot(data = <DATA>)+
颜色:color:字符串,blue, red等;
大小:size:单位mm;
形状:shape:0:20代表不同形状,以编号表示;
透明度:alpha;
填充颜色:fill
#统一设置需为有意义的值
示例:
ggplot(data = iris)+ geom_point(mapping = aes(x = Sepal.Length,y = Petal.Length), color = "blue", #颜色为蓝色 size = 5, #点的大小5mm alpha = 0.5, #透明度为50 % shape = 8) #点的形状
#可以将点设置成多个颜色,与数据对应,而非统一颜色
#统一设置时的参数从属于geom_function(),输入值为"颜色"(可设置为多个颜色,但不建议);映射的参数从属于aes(),输入值为行名
#自行指定映射的具体颜色
scale_color_manual(value=c("color","color")) ##必须先有aes(color) ###可用16进制颜色编码进行指定 ###也可用色彩R包paletteer
#图形分类关系与设置颜色参数
空心(无填充):color;实心(无边框):color;双色(边框+填充):color+fill
##设置方法与设置颜色相同,在aes()中加入shape=<数字编号>
示例:
ggplot(data = iris)+ geom_point(mapping = aes(x = Sepal.Length,y = Petal.Length,color = Species))+ scale_color_manual(values=c("blue","grey","red","#53485f"))
paleteer示例:
palettes_d_names ggplot(data = iris)+ geom_point(mapping = aes(x = Sepal.Length,y = Petal.Length,color = Species))+ scale_color_paletteer_d("awtools::mpalette")#"配色R包::配色名"
一个geom函数所画出来的所有元素被称为几何对象
几何对象可叠加(在同一张图展示多中图像)
多张图存在图层顺序!具体顺序按照书写顺序从下往上安排图层
ggplot(data = iris)+ geom_point(mapping = aes(x = Sepal.Length,y = Petal.Length))+ geom_smooth(mapping = aes(x = Sepal.Length,y = Petal.Length)) -->简化为 ggplot(data = iris,mapping = aes(x = Sepal.Length,y = Petal.Length))+ geom_point()+ geom_smooth() -->单独为点图添加颜色 ggplot(data = iris,mapping = aes(x = Sepal.Length,y = Petal.Length))+ geom_point(mapping = aes(color = Species))+ geom_smooth() 或 ggplot(data = iris,mapping = aes(x = Sepal.Length,y = Petal.Length))+ geom_point(color = red")+ geom_smooth() aes()代表映射,只有键入该函数才能从数据中读取相应的内容 可以在已有公共设置下进行二次映射
代码不报错不代表没错!!!
重合会导致表现数据减少,图片存在歧义
解决方法:
geom_point(position = "jitter") 或 geom_jitter
coord_flip()#翻转坐标系
theme_bw()#改变主题,去掉灰色背景 theme_classic()#去掉背景格纹 theme_dark()#深色主题 theme_minimal()#去背景 theme(legend.position="top")#图例改到上方
ggpubr画出的图像可以赋值(ggplot2也可赋值),可以进行后续改动/拼图
示例:
p = ggboxplot(iris, x = "Species", y = "Sepal.Length",color = "Species",shape = "Species",add = "jitter")
组间比较
示例:
my_comparisons <- list(c("setosa","versicolor") c("setosa","verginica") c("versicolor","verginica")) p + stat_compare_means(comparisons = my_comparisons, aes(label = after_stat(p.signif))) 要求:
ggsave("iris_box_ggpubr.png") ggsave(p,filename = "iris_box_ggpubr2.png")#已赋值 可使用绝对路径进行保存,但是更换设备无法从该路径进行导入 绝对路径:按照储存路径各级文件夹进行溯源 相对路径:”../../<filename>“ ggsave(p,filename = "fig/iris_box_ggpubr2.png")#保存至工作目录下的fig文件夹,若不存在该fig文件夹可新建文件夹。
pdf("test.pdf")#保存的函数及文件名 ...#作图代码 dev.off()#关闭画板
topptx(p,"iris_box_ggpubr.pptx")#新建并保存为pptx文件 对点过多的图不适用(e.g.火山图、热图),会导致ppt卡死
R包patchwork
优点:
1.语法简单,完美兼容ggplot2
2.拼图比例设置简单
#(1)支持p1+p2
#(2)布局代码易读性更强
#(3)可给子图添加标记
#(4)可统一修改所有子图
#(5)可将子图图例移到一起,整体性好
##常见问题
代码可运行却不出图
画板被占用——关闭画板
dev.off()#多次运行至null device,再重新运行代码或dev.new()
引用自生信技能树
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。