简介
qplot()是ggplot2中的一个作图函数,意思是快速作图(quick plot),qplot()基于图形语法,使得我们可以用简单的、富有表达能力的语句来描述一张图形。下图是qplot()的一些知识概况:
基本用法
加载package和数据集
library(ggplot2) set.seed(1410) ## 让样本可重复 dsmall <- diamonds[sample(nrow(diamonds), 100), ] ##使用ggplot2中的diamonds数据集 |
基本参数绘图
qplot()有三个基本的参数是x,y,data,分别表示x坐标,y坐标和数据集。默认绘制散点图,展示砖石价格和重量的关系。qplot(carat, price, data = diamonds)
变量的函数
qplot()可以直接将变量的函数作为绘图的参数。qplot(log(carat), log(price), data = diamonds)
qplot(carat, x * y * z, data = diamonds)
图形属性
qplot()中有个非常重要的概念:变量映射,指的是将数据的取值映射到该图形属性的有效取值上,比如颜色、大小和形状等是图形属性的具体化,用qplot()就可以将数据集中的数据映射到图形属性。除此之外,也可以用I()函数来手动设定。
自动设定
qplot(carat, price, data = dsmall, colour = color) ## 将color变量映射到点的颜色 |
qplot(carat, price, data = dsmall, shape = cut) ## 将cut变量映射到点的形状
手动设定
qplot(carat, price, data = diamonds, alpha = I(1/10)) ## alpha指透明度 |
qplot(carat, price, data = diamonds, alpha = I(1/100)) ## 分母表示经过多少次重叠颜色变得不透明
qplot(carat, price, data = diamonds, alpha = I(1/200)) ## 观察大部分点在哪里重叠
几何对象
qplot()除了绘制散点图之外,通过改变几何对象,几乎可以画出任何一种类型的图形。具体的分类可以参考文章最上方的思维导图。这里直接上代码:qplot(carat, price, data = dsmall, geom = c("point", "smooth")) ## 拟合平滑曲线
qplot(color, price / carat, data = diamonds, geom = "jitter", alpha = I(1/50)) ## 扰动点图,可改变透明度来观察以颜色为条件的砖石每克拉价格的分布
qplot(carat, data = diamonds, geom = "density", colour = color) ## 密度曲线图,加上颜色的图形映射
qplot(carat, data = diamonds, geom = "histogram", binwidth = 0.1, fill = color) ## 直方图
qplot(color, data = diamonds, geom = "bar") ## 条形图
分面
分面不同于图形属性,简单的说就是将不同属性的图分别画出来,在一张大图中有若干的小图,不同的小图之间来进行比较。下面举一个直方图的例子:qplot(carat, data = diamonds, facets = color ~ ., geom = "histogram", binwidth = 0.1, xlim = c(0, 3)) ## binwidth为组距
外观
qplot()中有一些控制图形外观的参数,比如坐标轴区间,标签文字等。直接举个例子:qplot(carat, price, data = dsmall,
xlab = "Price ($)", ylab = "Weight (carats)",
main = "Price-weight relationship"
)
参考文献
[1][ggplot2:数据分析与图形艺术]