R语言与医学统计图形-【9】过渡函数qplot
阅读原文时间:2023年07月10日阅读:2

基础绘图包向ggplot2过渡——qplot

绘图理念的不同:

基础绘图包是先铺好画布,再在这张画布上作图(常规思维);

ggplot2打破常规,采用图层叠加的方法。

qplot函数既有plot特点,又体现了ggplot2的特征,是一个过渡函数。

library(ggplot2)

data("diamonds")
qplot(x=carat,
      y=price,
      data=diamonds,
      geom = 'point',
      color=color)
#geom几何对象:smooth/boxplot/path/line/freqpoly/density/jitter/bar
#color映射变量

set.seed(2020)
dsmall <- diamonds[sample(nrow(diamonds),1000),]
qplot(x=carat, #qplot中x/y不能省
      y=price,
      data=dsmall,
      geom='point',
      color=color,
      shape=cut) #映射形状

qplot(x=color,
      data=dsmall,
      geom = 'bar',
      fill='green',  #填充色
      color='red') #边框色
#此处green和red都视为了一个变量

qplot(x=color,
      data=dsmall,
      geom='bar',
      fill=cut)

qplot(x=color,
      data=dsmall,
      geom='bar',
      fill=I('skyblue'))
#加上I函数后可手动设置颜色或形状

qplot(x=color,
      data=dsmall,
      geom='bar',
      fill=I('skyblue'),
      weight=price)
#纵轴变化,price映射到weight参数

其他类型图形。

qplot(x=cut,
      y=price,
      data=dsmall,
      geom='boxplot',
      fill=cut)

qplot(x=price,data=dsmall,geom = 'histogram',fill=cut)
#直方图默认30组
qplot(x=price,data = dsmall,geom = 'density',color=cut)

透明度。

qplot(x=price,data = dsmall,
      geom = 'density',
      fill=cut,
      alpha=I(0.5))

分面(facets)。

row_var ~ col_var按分类变量分成几行几列,点表占位符(可看成1)。

qplot(x=carat,
      y=price,
      facets = color~.,#对颜色分面,点不可少
      data=dsmall)

ggplot2无处不对象,这些对象均以图层叠加形式出现。