R语言可视化:ggplot2(一)

qplot基础教程

R友舍

R语言可视化:ggplot2(一)_第1张图片

简介

gplot是ggplot2包里的第一个函数,它的意思就是快速做图(quick plot)。qplot()和plot()非常像,如果你已经对R语言基础做图比较熟悉了,那么用起qplot()来也会变得非常容易。

qplot() 的参数主要有:

  • x,y 表示绘图对象的X轴和Y轴
  • data表示绘图的数据集
  • facets用于图形分页
  • geom 用于设置绘图的图形对象
  • colour 用于设置图形的颜色
  • size 用于设置图形的大小
  • shape 用于设置图形的形状
  • xlim、ylim用于设置坐标轴的区间
  • main 标题
  • xlab、ylab 坐标轴的标签文字

数据集简介

本文所有实例所用到的数据均选用ggplot2包自带的diamonds数据集。它包含了54000颗钻石价格与质量的信息,共有重量(carate)、切工(cut)、颜色(color)、净度(clarity)、深度(depth)、钻面宽度(table)、x、y、z等几个指标。

qplot的基本用法

散点图

qplot(carat,price,data=diamonds)

R语言可视化:ggplot2(一)_第2张图片
qplot支持将变量的函数作为参数,因此可以尝试对变量取对数,然后做图:

qplot(log(carat),log(price),data=diamonds)

R语言可视化:ggplot2(一)_第3张图片

图形的颜色、大小、形状

下面的例子,尝试对重量*价格 散点图里添加颜色(color)和切工(cut)的信息。

qplot(log(carat),log(price),data=diamonds,colour=color,shape=cut)

R语言可视化:ggplot2(一)_第4张图片

透明度

图形的透明度可以通过alpha属性来设置,alpha值的范围从0(完全透明)到1(完全不透明)。一半可以用分数来表示透明度:1/n,分母n表示经过n次重叠后,颜色将变的不透明。

qplot(carat,price,data=diamonds,aplha=1/200)

R语言可视化:ggplot2(一)_第5张图片

几何对象

qplot并非只能画散点图,通过改变geom(几何对象),几乎可以实现任意基础图形。geom(几何对象)描述了用何种对象来展示数据,常见的几何对象有如下几种:

  • geom=‘point’,qplot默认的一种几何对象,用于绘制散点图
  • geom=‘smooth’ ,用于拟合一条平滑曲线,并将曲线以及误差展示出来
  • geom=‘boxplot’ , 用于绘制箱形图,用于概括连续变量的分布情况
  • geom=‘line’,可以在点与点之间连线,通常用于探索时间与某一变量的关系
  • geom=‘histogram’ ,针对连续变量,可以绘制直方图
  • geom=‘density’,绘制密度曲线
  • geom=‘bar’,对分类变量绘制条形图

向图中添加光滑的曲线

qplot(carat,price,data=diamonds,geom=c(‘point’,‘smooth’))

R语言可视化:ggplot2(一)_第6张图片
注意,我们可以通过c()来将多个几何对象组合在一起,同时传递给geom参数,这样可以实现几何对象按指定顺序进行堆叠。
利用methon参数,可以选择不同的平滑器:

  • method=‘loess’ , 当样本比较少时(<1000),系统默认选择’loess’作为平滑器
  • method=‘gam’,当样本超过1000时,系统选择gam作为平滑器,系统会自动拟合一个广义可加模型
  • method=‘lm’ ,拟合的是线性模型,默认拟合一条直线
  • method=‘rlm’,与’lm’类似,但对异常值不敏感,拟合结果更稳健

箱形图

qplot(color,price/carat,data=diamonds,geom=c(‘boxplot’))

R语言可视化:ggplot2(一)_第7张图片

扰动点图

qplot(color,price/carat,data=diamonds,geom=c(‘jitter’))

R语言可视化:ggplot2(一)_第8张图片

直方图 和密度函数

qplot(carat,data=diamonds,geom=c(‘histogram’))
qplot(carat,data=diamonds,geom=c(‘density’))

R语言可视化:ggplot2(一)_第9张图片
R语言可视化:ggplot2(一)_第10张图片

条形图

选择geom=‘bar’,条形几何对象会计算没个水平的数量,而不需要像基础图系统的barhart那样预先对数据进行汇总。

qplot(color,data=diamonds,geom=c(‘bar’))

R语言可视化:ggplot2(一)_第11张图片

时序图

对于时间序列数据,通常选择geom='line’进行绘制。线条图X轴一般是时间,主要用以展示某一变量随时间的变化情况。

qplot(date,uempmed,data=economics,geom=c(‘line’))

R语言可视化:ggplot2(一)_第12张图片

分页

分页是对图形拆分成若干窗口,每个窗口绘制不同数据集的相同图形,用以比较数据差异。

qplot(carat,data=diamonds,geom=c(‘histogram’),facets=color~. ,binwidth=0.1,xlim=c(0,3))
R语言可视化:ggplot2(一)_第13张图片

更多内容,关注R友舍微信号
在这里插入图片描述

你可能感兴趣的:(可视化)