R语言-ggplot实战系列(一): 一行代码作出n种图的qplot()函数

R语言-ggplot数据可视化 专栏收录该内容
1 篇文章 0 订阅

R语言-ggplot实战系列(一): 一行代码作出n种图的qplot()函数

Q:如何用一个函数绘制出不同类型的图呢?
A:qplot()一行代码帮你解决boxplot, scatterplot, smoother plot, historgram …
请记住!ggplot2的快速做图函数 - qplot()

  • qplot() 记忆方法
    我们要有一些方法去记住常用的R语言函数。那对于qplot()函数,我们通常的记忆方式是 qplot() 是quickplot的缩写.

  • qplot() 函数优势
    Q:既然有了R自带函数plot(),我们为什么还要去学习怎么使用qplot()呢?
    A:当我们想要改变图中的点的形状,尺寸,以及颜色时,qplot()的操作简便程度是高于plot()的。

  • 用qplot()作出多种类型的图

  1. scatterplot
data("iris")
qplot(Petal.Length, Sepal.Length, data = iris, colour = Species,shape = Species)

在这里插入图片描述
qplot()函数在同一张图上展示了三类iris的Sepal与Petal长度的关系,并将三个类型的鸢尾花用不同的颜色及形状进行了展示。那么,如果我们使用plot进行绘图,我们需要用points函数结合plot函数进行不同鸢尾花类型的绘制和叠加,同时也会遇到坐标轴不灵活的问题。

  • qplot()可以完成各种类型的图,而不仅仅是“scatterplot”!!
  1. scatterplot + trend line
    同上,使用iris鸢尾花经典数据集绘制Sepal.Length和Petal.Length之间的关系,并在此我们不区分鸢尾花的类别。
data("iris")
qplot(Petal.Length, Sepal.Length, data = iris, geom = c('point', 'smooth'))

在这里插入图片描述
当运行上述代码时,我们可以看到console中有这样的提示geom_smooth() using method = 'loess' and formula 'y ~ x', 这是因为此处我们的default smoother 是method = “loess”(local regression)。那么对于这样的局部回归,我们可以通过调整span参数来改变它弯曲的弯数。

其他的smoothers将如下展示:

library(splines)
# formula = y ~ x
qplot(Petal.Length, Sepal.Length, data = iris, geom = c('point', 'smooth'), method = "lm")

在这里插入图片描述

# formula = y ~ ns(x, 5) -- natutal spline
qplot(Petal.Length, Sepal.Length, data = iris, geom = c('point', 'smooth'), method = "lm", formula = y ~ ns(x, 5))

在这里插入图片描述

  1. boxplot
qplot(Species, Sepal.Length/Petal.Length, data = iris, geom = 'boxplot')

在这里插入图片描述


以下部分将全部使用R语言自带数据集‘airquality’
'airquality’为1973年纽约5月- 9月的每日空气质量

  1. histogram.
    本部分使用R语言自带数据集’airquality’(纽约空气质量)来进行举例。
# binwidth 修改bin的宽度
data(airquality)
qplot(Ozone, data = airquality, geom = 'histogram', binwidth = 1.5)

在这里插入图片描述

  1. density
    本部分使用R语言自带数据集’airquality’(纽约空气质量)来进行举例。
data(airquality)
qplot(Ozone, data = airquality, geom = 'density')

在这里插入图片描述

  1. factor type attributes + histogram
    上面举例了用histogram来展示一个continuous numeric type attribute, 下面我们来看如何运用histogram来对比不同的类别下特定实数值变量的直方图。
data(airquality)
qplot(Ozone, data = airquality, geom = 'histogram', color = factor(Month))

在这里插入图片描述

  1. factor type attributes + density plot
    上面举例了用density plot 来展示一个continuous numeric type attribute, 下面我们来看如何运用density plot来对比不同的类别下特定实数值变量的密度曲线。
# Month此处被转换为factor类型变量
data(airquality)
qplot(Ozone, data = airquality, geom = 'density', color = factor(Month))

在这里插入图片描述

  1. bar chart
# 此处我们将温度(Temp)视作类别变量去统计其count
data(airquality)
qplot(factor(temp), data = airquality, geom = 'bar')

在这里插入图片描述

  1. time series plot
data(airquality)
# x轴表示在数据集中记录了153天
qplot(1:nrow(airquality), Temp,  data = airquality, geom = "line")

在这里插入图片描述

  1. facet plot
    以上,我们在对比不同类别下的单个特征时,会运用不同颜色将多个曲线/散点/柱状图画在同一张图上。而facet就是为这些subgroups自动分离&单独做图而设计的。

在这里插入图片描述

  • 坐标轴范围,标题及横纵坐标标签修改

修改坐标轴范围:
xlim = c(a, b)
ylim = c(a, b)

修改坐标轴标签:
ylab = “是y啊”
xlab = “是x啊”

修改图标题:
main = “这是总标题”

以本文开始的第一个鸢尾花数据集的散点图为例

data("iris")
qplot(Petal.Length, Sepal.Length, data = iris, colour = Species, shape = Species,
      xlab = "Length of Petal", ylab = "Length of Sepal", xlim = c(0, 7.5), 
      ylim = c(4, 8),
      main = "Sepal Length and Petal Length for Irises")

在这里插入图片描述

参考

Hadley_2009_Elegant Graphics for Data Analysis

  • 0
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值