ggplot2学习笔记4:绘制几何对象

本文是ggplot2的学习笔记,介绍了如何使用ggplot2绘制各种几何对象,如散点图、平滑曲线、箱线图、直方图、密度曲线、条形图和时间序列图,并提供了具体的R代码示例。内容涵盖不同类型的平滑曲线拟合、箱线图的三种形式以及时间序列数据的可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此博客作为自己的学习笔记,同时与大家交流分享!

Getting Started with ggplot2

1.几何对象(Geometric object)

ggplot2能够绘制各类几何对象,几乎任何一种图形类型都可以,可谓集百家之长于一身;但不仅仅于此,几何对象的使用可以叠加,也就是一张图可以画多个图层,比如在散点图上拟合平滑曲线,功能十分强大,以下是几种常见的几何类型绘图命令:

  • geom_point():绘制散点图
  • geom_smooth():拟合一条平滑曲线(也可直线),并显示标准误差(置信区间)
  • geom_boxplot():绘制箱线图
  • geom_histogram():绘制直方图
  • geom_bar():绘制条形图
  • geom_path():在各个数据点之间连线(路径图)

想要了解几何对象都有哪些请单击这里

下面我们来用qqplot()函数绘制 ggplot2学习笔记1:从qplot() 开始中用qplot()绘制的图像

2.散点图添加平滑曲线

利用数据集diamonds绘制一幅钻石价格(price)与钻石质量(carat)的散点图,由于数据比较多噪点较大,不容易判断数据变化的趋势,此时可以通过geom_smooth()添加一条平滑曲线判断趋势:

#qplot()
qplot(carat, price, data = diamonds, geom = c("point", "smooth"))
#ggplot()
ggplot(diamonds,aes(carat, price)) + 
  geom_point() + 
  geom_smooth()

生成图片:
图1:带有平滑曲线的散点1
图1:带有平滑曲线的散点图1

图中灰色带为置信带,是默认显示,如果不需要可以通过参数geom_smooth(se=FALSE)取消置信带

通过参数method可以选择不同的平滑器:

  • 当n<=1000时,系统默认method = "loess",使用公式formula = y ~ s(x),参数span控制曲线的平滑程度,范围0~1。脚本如下:
set.seed(1410)  #让样本可重复
dsmall <- diamonds[sample(nrow(diamonds), 100), ]  #随机选出100条观测
dsmall  #由于点太多会看不出参数span的效果,故生成数据集dsmall
#qplot()
qplot(carat, price, data = dsmall, geom = c("point", "smooth"), span = 0.2)
#ggplot()
ggplot(dsmall, aes(carat, price)) + 
  geom_point() + 
  geom_smooth(span = 0.2)
ggplot(dsmall, aes(carat, price)) + 
  geom_point() + 
  geom_smooth(span = 1)  #参数span控制平滑程度

生成图片:
图2:带有平滑曲线的散点2
图2:带有平滑曲线的散点2

  • 当n>1000时,系统默认method = "gam",使用时需要调用mgcv包来拟合广义可加模型,使用公式formula = y ~ s(x, bs = "cs")

现在调用mgcv包来拟合广义可加模型,脚本如下:

library(mgcv)  #加载包
#qplot()
qplot(carat,<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值