ggplot2绘图系统

基础绘图包向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映射变量

R语言与医学统计图形-【9】过渡函数qplot_图层

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) #映射形状

R语言与医学统计图形-【9】过渡函数qplot_微信公众号_02

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

R语言与医学统计图形-【9】过渡函数qplot_图层_03

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

R语言与医学统计图形-【9】过渡函数qplot_html_04

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

R语言与医学统计图形-【9】过渡函数qplot_html_05

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

R语言与医学统计图形-【9】过渡函数qplot_图层_06
其他类型图形。

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

R语言与医学统计图形-【9】过渡函数qplot_html_07

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

R语言与医学统计图形-【9】过渡函数qplot_微信公众号_08
透明度。

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

R语言与医学统计图形-【9】过渡函数qplot_微信公众号_09

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

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

R语言与医学统计图形-【9】过渡函数qplot_html_10

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


作者:Bioinfarmer

 若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。