{plot2}: 是时候停用ggplot2了?

这篇文章介绍一个R包,名为{plot2},是一个比较轻量级、易学的作图R包,它与基础R的函数plot()非常相似,也许有潜力可以挑战一下{ggplot2}

首先安装并且载入R包: 

install.packages("plot2", repos = "https://grantmcdermott.r-universe.dev")
library(plot2)
R包get!

以airquality数据为例,查看数据的基本情况: 

summary(airquality)

首先画一个最简单的散点图试试手: 

plot2(Temp ~ Day, data = airquality, pch = 16)

从代码可知,用法几乎和plot()函数是一样的。

下一步,将散点图分组,代码如下: 

plot2(Temp ~ Day | Month, data = airquality, pch = 16)

下一步,制作一个折线图,代码如下:

plot2(Temp ~ Day | Month, data = airquality, type = "l")

如果不喜欢彩色的话,可以将颜色调成灰色,并且改变线条类型,代码如下: 

plot2(Temp ~ Day | Month, data = airquality, type = "l",
      col = "gray",
      lty = "by")

默认情况,图例出现在图的右侧,可以将它换到图片的顶部: 

plot2(Temp ~ Day | Month, data = airquality, type = "l",
      legend = "top!")
#感叹号可以让图例放在坐标轴之外

那如何制作基于模型(比如线性回归)的图片呢? 

首先建立模型,并且将模型的预测值保存到数据中,用于后续的作图: 

mymodel <- lm(Temp ~ Month*Day, data = airquality)
mydata <- cbind(airquality, predict(mymodel, interval = "confidence"))
数据准备成功,可以作图了,代码如下: 

with(mydata,
     plot2(
       x = Day, y = fit,
       ymin = lwr,
       ymax = upr,
       by = Month,
       type = "ribbon",
       main = "Model predictions"
     )
)

也可以将不同月份(组别)的图片进行分面作图,代码如下: 

with(mydata,
     plot2(
       x = Day, y = fit,
       ymin = lwr,
       ymax = upr,
       type = "ribbon",
       main = "Model predictions",
       facet = Month
       )
)

可以将不同的组别添加上不同的颜色,代码如下: 

with(
  mydata,
  plot2(
    x = Day, y = fit,
    ymin = lwr, ymax = upr,
    by = Month, facet = "by",
#这行代码是关键
    type = "ribbon",
    palette = "dark2",
    main = "Model predictions",
  )
)

上面只是这个R包的粗浅介绍,感兴趣的小伙伴可以查看下方文献深入学习。


好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人

参考文献

https://grantmcdermott.com/plot2/


公众号的线上课程
1. 《R语言和统计新手课程》
2. 《回归:从入门到进阶》

统计咨询
《服务介绍和经典合作案例》

公众号核心成员的成果发表
《SCI医学1区影响因子9分论文》

公众号核心成员担任SCI杂志Associate Editor!
《JAD杂志Associate editor》
《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》


▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!




2024-02-06 09:45
首页    公众号    {plot2}: 是时候停用ggplot2了?