前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2扩展

ggplot2扩展

作者头像
生信喵实验柴
发布2022-10-25 19:59:34
3220
发布2022-10-25 19:59:34
举报
文章被收录于专栏:生信喵实验柴生信喵实验柴

背景

ggplot2 色轮图

一、默认修改颜色

代码语言:javascript
复制
mtcars$cyl <- as.factor(mtcars$cyl)
p <- ggplot(mtcars, aes(x=cyl, y=mpg, fill=cyl)) +geom_boxplot()
p+scale_fill_brewer(palette = "Set2")
p+scale_fill_manual(values = c("red","green","blue"))

离散型数据修改 ggplot2 默认配色

代码语言:javascript
复制
p <- ggplot(mtcars, aes(x=wt, y=mpg,color=mpg)) +geom_point()
p
#两种渐变色
p+scale_color_gradient(low = "yellow",high = "red")
#三种渐变色
p+scale_color_gradient2(low = "yellow",mid = "orange",high = "red")

为连续型数据增加两种渐变色

二、ggsci:科学文献配色

代码语言:javascript
复制
library(ggsci)
mtcars$cyl <- as.factor(mtcars$cyl)
p <- ggplot(mtcars, aes(x=cyl, y=mpg, fill=cyl)) +geom_boxplot()
p
#查看帮助文档
# help(package="ggsci")
p+scale_fill_aaas() 
p+scale_fill_npg() #nature配色 
p+scale_fill_nejm() 
p+scale_fill_jama()
p+scale_fill_lancet()

利用 ggsci 调整为 nature 杂志配色

三、ggthemes:常见期刊主题

代码语言:javascript
复制
library(ggthemes)
p
p+theme_economist()
p+theme_wsj()
p+theme_excel()
p+theme_stata()

为 ggplot2 绘图调整以前的excel主题

四、绘图布局

代码语言:javascript
复制
library(ggplot2)
library(ggExtra)
data(mtcars)

# classic plot :
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, size=cyl)) +
  geom_point() + theme(legend.position="none")
p
# Set relative size of marginal plots (main plot 10x bigger than marginals)
p1 <- ggMarginal(p, type="histogram", size=10)
p1
# Custom marginal plots:
p2 <- ggMarginal(p, type="histogram", fill = "slateblue", xparams = list(  bins=10))
p2
# Show only marginal plot for x axis
p3 <- ggMarginal(p, margins = 'x', color="purple", size=4)
p3

使用 ggExtra 布局p1

五、绘图组合

代码语言:javascript
复制
library(ggplot2)
library(gridExtra)

# Make 3 simple graphics:
g1 <- ggplot(mtcars, aes(x=qsec)) + geom_density(fill="slateblue")
g2 <- ggplot(mtcars, aes(x=drat, y=qsec, color=cyl)) + geom_point(size=5) +
  theme(legend.position="none")
g3 <- ggplot(mtcars, aes(x=factor(cyl), y=qsec, fill=cyl)) + geom_boxplot() +
  theme(legend.position="none")
g4 <- ggplot(mtcars , aes(x=factor(cyl), fill=factor(cyl))) +  geom_bar()

# Plots
grid.arrange(g2, arrangeGrob(g3, g4, ncol=2), nrow = 2)
grid.arrange(g1, g2, g3, nrow = 3)
grid.arrange(g2, arrangeGrob(g3, g4, ncol=2), nrow = 1)
grid.arrange(g2, arrangeGrob(g3, g4, nrow=2), nrow = 1)

利用 gridExtra 组合图形

六、ggpubr 绘图

代码语言:javascript
复制
library(ggpubr)
ggviolin(ToothGrowth, x = "dose", y = "len",add = "jitter", shape = "dose")
ggviolin(ToothGrowth, "dose", "len", fill = "dose",palette = c("#00AFBB", "#E7B800", "#FC4E07"),
         add = "boxplot", add.params = list(fill = "white"))

利用 ggviolin 绘制小提琴图

七、plotly 交互绘图

代码语言:javascript
复制
library(plotly)
#查看版本
packageVersion('plotly')
p <- ggplot(mtcars, aes(x=cyl, y=mpg, fill=cyl)) +geom_boxplot()
ggplotly(p)

生成的是一个网页,鼠标移动、放大、可存储到本地png。

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

代码语言:javascript
复制
bioinfoer.com

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档