安装并加载ggsci包
install.packages("ggsci")
library("ggsci")
下面以离散型diamons数据集为例进行作图说明
library("ggplot2")
data("diamonds")
head(diamonds)
首先给大家看一下不使用ggsci的绘图效果
用ggplot2绘图时,要有一个图层的概念,跟我们平时接触到的PS中的图层是一个意思。 我们先通过ggplot()函数指定数据层,用geom_point()添加散点图,然后通过geom_smooth()添加线性模型,中间通过“+”进行连接,就像图层一层层叠加是一个道理。 geom_smooth():(1)method,它指定了我们进行模型构建时所用的方法,包括lm:线性回归;glm:广义线性回归;loess:局部线性回归等模型。默认是lm,如果想要一个更为顺滑的曲线,可采用局部线性回归,即method等于“loess”即可。 (2)span参数控制loess曲线中的平滑量。它的参数值越大,拟合得就越好。
p1 <- ggplot(
subset(diamonds, carat >= 2.2),
aes(x = table, y = price, colour = cut)
) +
geom_point(alpha = 0.7) +
geom_smooth(method = "loess", alpha = 0.05, size = 1, span = 1) +
theme_bw()
p2 <- ggplot(
subset(diamonds, carat > 2.2 & depth > 55 & depth < 70),
aes(x = depth, fill = cut)
) +
geom_histogram(colour = "black", binwidth = 1, position = "dodge") +
theme_bw()
grid.arrange(p1, p2, ncol = 2)
Nature配色
npg是颜色样式名“Nature Publishing Group”的缩写
p1_npg <- p1 + scale_color_npg()
p2_npg <- p2 + scale_fill_npg()
grid.arrange(p1_npg, p2_npg, ncol = 2)
柳叶刀配色 Lancet
p1_lancet <- p1 + scale_color_lancet()
p2_lancet <- p2 + scale_fill_lancet()
grid.arrange(p1_lancet, p2_lancet, ncol = 2)
瑞克莫蒂配色
p1_rickandmorty = p1 + scale_color_rickandmorty()
p2_rickandmorty = p2 + scale_fill_rickandmorty()
grid.arrange(p1_rickandmorty, p2_rickandmorty, ncol = 2)
创世纪配色
p1_tron = p1 + theme_dark() + theme(
panel.background = element_rect(fill = "#2D2D2D"),
legend.key = element_rect(fill = "#2D2D2D")) +
scale_color_tron()
p2_tron = p2 + theme_dark() + theme(
panel.background = element_rect(fill = "#2D2D2D")) +
scale_fill_tron()
grid.arrange(p1_tron, p2_tron, ncol = 2)
p1_rickandmorty = p1 + scale_color_rickandmorty()
p2_rickandmorty = p2 + scale_fill_rickandmorty()
grid.arrange(p1_rickandmorty, p2_rickandmorty, ncol = 2)