graphpad是一款商业化的绘图软件,支持多种可视化形式,而且样式美观,下图就是其典型的输出
graphpad的强大之处在于默认样式的美观,以及所有组件的可编辑,通过鼠标操作可以像ps一样添加和修改任何图片中的元素。
ggplot2则是基于R语言的开源免费工具,其特点在于自动化,所有的操作都通过代码来实现,为了进一步扩增ggplot2的功能,开发者在ggplot2的基础上开发了很多的扩展包,
今天要介绍的ggprism就是一个ggplot2的扩展包,其主要作用就是添加graphpad的主题和内置的颜色梯度,下面来看下其基本用法,首先绘制一个ggplot2基础版本的小提琴图加箱体图的复合图表,代码如下
代码语言:javascript复制> library(ggplot2)
> library(ggprism)
> tg <- ToothGrowth
> tg$dose <- as.factor(tg$dose)
> base <- ggplot(tg, aes(x = dose, y = len))
geom_violin(aes(colour = dose, fill = dose), trim = FALSE)
geom_boxplot(aes(fill = dose), width = 0.2, colour = "black")
scale_y_continuous(limits = c(-5, 40))
> base
效果图如下
通过ggprism这个扩展包,可以实现如下功能
1. 加上ggprism的颜色梯度
代码如下
代码语言:javascript复制> base scale_color_prism("floral") scale_fill_prism("floral")
效果图如下
2. 加上ggprism的主题
代码如下
代码语言:javascript复制> base
scale_color_prism("floral")
scale_fill_prism("floral")
theme_prism(base_size = 16)
效果图如下
3. 控制axis的样式
代码如下
代码语言:javascript复制> base
scale_color_prism("floral")
scale_fill_prism("floral")
theme_prism(base_size = 16)
guides(y = "prism_offset_minor")
效果图如下
4. ggprism添加 pvalue 值
代码如下
代码语言:javascript复制> p_vals <- tibble::tribble(
~group1, ~group2, ~p.adj, ~y.position,
"0.5", "1", 8.80e-14, 35,
"0.5", "2", 1.27e-7, 39
)
> base
scale_color_prism("floral")
scale_fill_prism("floral")
theme_prism(base_size = 16)
add_pvalue(p_vals, label = "p = {p.adj}", tip.length = 0, label.size = 4)
效果图如下
ggprism提供了一种便利,可以通过ggplot2来实现ggprism的同款图片,从而通过代码批量绘制,避免了手工操作的繁琐。当然,这里只是针对基本图片,对于图片的个性化修饰,还是graphpad更加的得心应手。
·end·