geom_rug() 给你的 xy 轴加上边际地毯刻度尺
2020-04-28 本文已影响0人
热衷组培的二货潜
今天看到群里有个小伙伴,对于一个基础 plot 绘图绘制的这个图,然后估计不怎么懂 R,一晚上也没解决。
可能是我没怎么学过基础 plot
绘图,虽然基础 plot
可以随心所欲,但是我认为代码可读性比较差,而且复杂(也许是脑子不好使)。。。然后当时就清洗记得 ggplot2
函数的 geom_rug()
+ geom_smooth()
(假设是线性拟合)就可以实现。
library(ggplot2)
df <- mtcars
df$cyl <- as.factor(df$cyl)
ggplot(df, aes(x = wt, y = mpg)) +
geom_point(aes(color = cyl)) +
geom_rug(aes(color = cyl)) +
geom_smooth(aes(color = cyl), method = lm, se = FALSE, fullrange = TRUE) +
scale_y_continuous(expand = c(0.1, 0.1)) +
theme_bw() +
theme(panel.background = element_rect(fill = "#F3F2EE", colour = "#F3F2EE"),
panel.grid.major = element_line(size = 1, linetype = 'solid',
colour = "white"),
panel.grid.minor = element_line(size = 1, linetype = 'solid',
colour = "white"),
legend.position = c(0.9, 0.8),
legend.background = element_blank(),
legend.key = element_rect(fill = "NA"),
text = element_text(size = 16)
)
好吧,又水了。