ggplot2 绘图总结

作者: Liam_ml | 来源:发表于2019-07-16 13:24 被阅读37次

图形属性

x

y

xmin

xmax

ymin

ymax

xend

yend

weight

color:轮廓色

fill:填充色

shape:点形状

linetype: dotted dashed

size:点大小,线条大小(粗细)

alpha:透明度,0-1:完全透明-完全不透明

width:宽度(条形图等)

binwidth:组距(直方图等)

label:名称(如x,y,legend等)

angle:角度

hjust:水平平移

vjust:垂直平移

lower

middle

upper

map_id

group分组

position位置调整

点图

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_point(color='grey')#轮廓色为灰色(实质效果:填充部分也为灰色)

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_point(fill='blue')#点图无填充色选项,所以等于空设置;而color默认黑色

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_point(aes(color=cyl),alpha=I(0.6)) #设置透明度,alpha范围是0到1,全透明到不透明;I()表示设定,跟映射函数aes()相对

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_point(aes(color=factor(cyl)),alpha=0.6) #cyl为整数,系统识别#默认是连续变量,所以生成的图例是连续型颜色图例;factor使之因子化

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_point(aes(color=factor(cyl),shape=factor(cyl)),alpha=0.6)

将cyl映射至形状属性

image

image

image

image

image

折线图

ggplot(data=mpg,aes(x=displ,y=hwy))+

geom_line(color='grey',size=2)

条形图

ggplot(data=mpg,aes(x=factor(displ),y=hwy))+

geom_bar(stat='identity',width=0.8,color='green',fill='grey')

stat是指统计变换;#stat='identity'是指不进行统计变换即hwy就是纵

坐标值因为displ出现众多的重复值,所以分组更多,纵坐标值不断累加

width为组距,color为轮廓色(可以看到y值累加上去),fill为填充色

ggplot(data=mpg,aes(x=displ))+

geom_bar(stat='density')

统计变换为密度即y为displ的密度分布;注意,这里不需要给y映射变量

统计变换为bin,中文翻译是bin封箱,其过程是生成变量count(对x计数),density(一维密度估计),x(组的中心估计)——默认利用count和x;如若#要引用这几个变量,则在变量左右加双圆点,譬如 ..density..

image

image

直方图:

仅限于x为连续型变量,如果x为离散型则该函数报错——此时可以利用条线图来绘制直方图

ggplot(data=mpg,aes(x=displ,fill=fl))+

geom_histogram(binwidth=0.2,position=”stack”)

binwidth 为The width of the bins;不同于条形图的width

position是指位置调整,stack是堆叠即同组几何对象堆叠

​ggplot(data=mpg,aes(x=displ,fill=fl))+

geom_histogram(binwidth=0.4,position='dodge')

position是指位置调整,dodge是同组几何对象并列

位置调整的参数还有:fill jitter identity

image

image

箱线图:

ggplot(data=mpg,aes(x=factor(fl),y=hwy))+

geom_boxplot(color='grey')

ggplot(data=mpg,aes(x=1,y=hwy))+

geom_boxplot(fill='grey',color='blue') #hwy不分组

ggplot(data=mpg,aes(x=1,y=hwy))+

geom_boxplot(fill='grey',color='blue',outlier.colour= "red", outlier.shape = 1) #高亮异常值并赋予特定的几何对象

image

image

image

曲线密度图

使用geom_density

ggplot(data=mpg,aes(x=displ,fill=fl))+geom_density(color='white',size=0.1,alpha=I(0.3))

ggplot(data=mpg,aes(x=displ,y=..density..))+geom_histogram(fill='grey',binwidth=0.18,alpha=I(0.3))+geom_density(color='white',size=0.8)

几乎看不到密度曲线。原因:直方图和密度图结合在一起。直方图中bin变换生成y变量有count和density,默认使用前者,这样由于count很大,density很小(总是小于1),就会值得密度线处于低位,难以看到,所以需要y=..density..(引用bin变换的数据必须前后加双圆点)

ggplot(data=mpg,aes(x=displ))+geom_histogram(fill='grey',binwidth=0.18,alpha=I(0.3))+geom_density(color='white',size=0.8)

image

image

image

​​​

饼图

ggplot(data=mpg,aes(x=1,fill=fl))+geom_bar()+

coord_polar(theta='y')

image

​coord_polar是极坐标的意思,区别以往的笛卡尔坐标。coord_polar()作用是把把笛卡尔坐标变换为极坐标。该函数有theta,start,direction三个参数,后者者顶多是图的微调,需要了解可以查看帮助文件,theta才是关键。极坐标参数theta有两个指标半径和角度,就饼图而言,各部分内容的角度不同,半径相同;而默认theta=”x”,即将x映射为角度,剩下的y映射为半径。这些为前期准备,下面一步步分解这个过程。

First step: 生成条形图,其中各部分的比例关系用y反映。

ggplot(data=mpg,aes(x=1,fill=fl))+geom_bar()

image

second step: 将坐标极坐标化,y映射为角度(此时x恒等于1,即半径相同)

ggplot(data=mpg,aes(x=1,fill=fl))+geom_bar()+

coord_polar(theta='y')

image

ggplot(data=mpg,aes(x=1,fill=fl))+geom_bar()+

coord_polar(theta=”x”)

如果x映射为角度,则y映射为半径,生成眼图

image

相关文章

  • ggplot2 绘图总结

    图形属性 x y xmin xmax ymin ymax xend yend weight color:轮廓色 f...

  • 11-23-1、2绘图

    一、绘图基本概念 相关R包:作图(ggplot2),拼图(patchwork),导出(eoffice) 基础包绘图...

  • R -> ggplot2包(1)

    ggplot2包说明文档学习笔记(1) ggplot2的绘图数据来源是一个dataframe ggplot2通过一...

  • ggplot2绘图细节总结

    修改x轴绘图顺序 通过设置x轴factor顺序实现: 用forcats包:fct_inorder 按照第一次出现的...

  • R绘图函数

    R语言四大作图系统: 基础绘图系统 lattice包 ggplot2包 grid包 R绘图分类: 高级绘图(搭好框...

  • R语言可视化及作图1--基础绘图(par函数,散点图,盒形图,条

    R语言绘图系统基础绘图包 ⚠️Lattice (语法复杂)ggplot2家族 ⚠️其他,比如:sjplot; pl...

  • 生信学习小组80期 Day4-CM

    今天分享的笔记如何使用r语言中ggplot2包进行绘图。 安装ggplot2包 使用install.package...

  • 2020-05-26

    ggplot2绘图: 点状图 data(mtcars)df <- mtcars[, c("mpg","cyl","...

  • R笔记之ggplot2画图

    ggplot2绘图理念 图形系统的核心理念是把绘图与数据分离,把数据相关的绘图与数据无关的绘图分离,按图层作图。g...

  • 玩转ggplot2

    (注:本文基于RStudio环境) ggplot2是什么 ggplot2 是R语言中的一个包,用于绘图功能,相比于...

网友评论

    本文标题:ggplot2 绘图总结

    本文链接:https://www.haomeiwen.com/subject/uegzkctx.html