首先,绘图数据如下:
1、保持默认绘图风格,不做更改:
library(readxl)
library(GGally)
library(ggplot2)
library(RColorBrewer) # 颜色
library(ggsci)
data <- read_excel("E:/my/my/csdn/test.xlsx")
fig1 <- ggpairs(data,
columns=1:4,
mapping=ggplot2::aes(colour='R²', alpha=1),
upper = list(continuous=wrap("cor", method="pearson")),
lower = list(continuous=wrap("smooth", method="lm", color='black'))) # 点的颜色
print(fig1) # 原始的 不做更改
运行结果如图:
2、下面我们对填充颜色和直线颜色进行修改,并加上标题(图号):
fig2 <- fig1 + scale_color_manual(values = c("#00441B")) + scale_fill_manual(values = c("pink")) + scale_alpha(range = c(0.8)) + ggtitle("(b)")
print(fig2) # 改颜色 scale_color_manual 直线的颜色;scale_fill_manual 曲线的填充颜色
fig2结果如图:
3、下面我们再修改坐标轴的字号:
fig3 <- fig2 + theme_bw()+
theme(axis.text = element_text(color = "black", size = 10, face = "plain", family = "serif"),
axis.title = element_blank(),
strip.text = element_text(size = 12, face = "plain"))
#strip.background = element_blank() #grey # 可将上边和右边的坐标轴的灰色背景去掉
print(fig3) # 改细节
得到的fig3如图:
到此结束
额外补充一个ggsci的配色:
#fig4 <- fig3 + scale_color_npg()+scale_fill_npg()
fig4 <- fig3 + scale_color_aaas()+scale_fill_aaas()
print(fig4)
下面附上完整代码:
library(readxl)
library(GGally)
library(ggplot2)
library(RColorBrewer) # 颜色
library(ggsci)
data <- read_excel("E:/my/my/csdn/test.xlsx")
fig1 <- ggpairs(data,
columns=1:4,
mapping=ggplot2::aes(colour='R²', alpha=1),
upper = list(continuous=wrap("cor", method="pearson")),
lower = list(continuous=wrap("smooth", method="lm", color='black'))) # 点的颜色
print(fig1) # 原始的 不做更改
fig2 <- fig1 + scale_color_manual(values = c("#00441B")) + scale_fill_manual(values = c("pink")) + scale_alpha(range = c(0.8)) + ggtitle("(b)")
print(fig2) # 改颜色 scale_color_manual 直线的颜色;scale_fill_manual 曲线的填充颜色
fig3 <- fig2 + theme_bw()+
theme(axis.text = element_text(color = "black", size = 10, face = "plain", family = "serif"),
axis.title = element_blank(),
strip.text = element_text(size = 12, face = "plain"))
#strip.background = element_blank() #grey
print(fig3) # 改细节
#fig4 <- fig3 + scale_color_npg()+scale_fill_npg()
fig4 <- fig3 + scale_color_aaas()+scale_fill_aaas()
print(fig4)