R可视化专题

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)
  ) 

好吧,又水了。

上一篇下一篇

猜你喜欢

热点阅读