年中总结接近尾声,我们学习一些基础的画图知识
GraphPad prism绘制出来的图形有其独特的风格,并且绘制的图形也很漂亮,但是正版软件的售价很高,使用破解软件绘制的图形又有面临侵权的风险。
幸好,前段时间发现一个好的R包——ggprism包,据R包作者介绍,ggprism包就是用来绘制GraphPad prism风格样式图形。
下面来学习下怎么使用ggprism包绘制GraphPad prism主题风格图形。
1. 安装和加载R包
ggprism包是ggplot2包的一个扩展包,两个包都可以从CRAN上安装。
install.packages("ggplot2")
install.packages("ggprism")
library(ggplot2)
library(ggprism)
2. 加载数据
使用mpg数据集。
data(mpg) # 加载数据head(mpg) # 查看数据
图片
3. 普通ggplot2图形
正常的经典ggplot2风格图形是灰色背景+网格状图形。
我们先绘制个箱型图看看。
base <- ggplot(mpg, aes(x = displ, y = cty, fill = class)) + geom_boxplot() # 箱型图base
18814178-6a63989ea9fbc0b0.png
4. 调整图形主题
下面来调整图形的主题,可以通过添加theme_prism()来绘制GraphPad prism主题风格样图形。
base + theme_prism()
111.png
上面是箱型图,还可以绘制下条形图看看。
ggplot(mpg, aes(x = drv, y = cty, fill = class)) + geom_col(position = position_dodge()) + # 条形图
theme_prism()
111.png
5. 调整主题调色板
上面我们直接添加的theme_prism(),函数中默认的主题调色板是黑白调色板,这也是GraphPad prism图形的经典风格。
下面我们在theme_prism()中添加其他的调色板来调整图形的主题颜色。
首先来看看这个包中有哪些调色板可以选择,使用names()可以输出包中的调色板。
# 输出主题调色板名称
names(ggprism_data$themes)
640.png
如上输出所示,这个包中的主题调色板还是蛮多的。
可以使用preview_theme()预览下主题的调色板。
preview_theme("floral")
preview_theme("pearl")
图片
图片
前面讲过,theme_prism()默认的调色板是"black_and_white",这也是GraphPad prism图形的经典风格。
我们可以通过palette参数将需要的调色板添加到主题中。
base + theme_prism(palette = "flames")
base + theme_prism(palette = "candy_bright")
base + theme_prism(palette = "purple_passion")
base + theme_prism(palette = "beer_and_ales")
640.png
在上图中,调色板调整的是主题的颜色,而不是中间图形的填充颜色。
6. 调整主题外观属性
在theme_prism()中,除了可以调整调色板外,还可以调整主题的字体文本属性。
默认的字体属性是粗体、14号、隐藏图例标题、白色背景、黑体字等。
## 调整字体大小和角度base + theme_prism(base_fontface = "plain", # 字体样式, 选 bold, plain, italic
base_family = "serif", # 字体格式,可选 serif, sans, mono, Arial等
base_size = 16, # 图形的字体大小
base_line_size = 0.8, # 坐标轴的粗细
axis_text_angle = 45) # 可选值有 0,45,90,270
图片
7. 调整图形调色板
可以在scale_colour/fill_prism()中添加调色板,建议将图形颜色的调色板和图形主题的调色板设置为一样。
base + theme_prism(palette = "flames") + scale_fill_prism(palette = "flames")
图片.png
base + theme_prism(palette = "candy_bright") + scale_fill_prism(palette = "candy_bright")
图片.png
8. 调整图例外观属性
在上面的图形中,图例的位置位于右边,可以将图例移到图形中去,减少图形占用的篇幅。
可以在scale_fill_prism()中调整图例标签。
base + theme_prism(palette = "candy_bright") +
theme(legend.position = c(0.8, 0.75),
legend.key.height = unit(14, "pt")) +
scale_fill_prism(palette = "candy_bright", # 修改图例标签
label = c("G1", "G2", "G3", "G4", "G5", "G6", "G7"))
图片
这个包最主要的函数是theme_prism(),但是也有其他功能,比如说调整刻度,添加次坐标轴等,有兴趣的可以查阅帮助文件自行学习,R包作者介绍的很详细。
基础知识,多多学习,绘图是基础