R语言绘图之ggplot2(其之零)-基本介绍

ggplot2 是一个基于R语言开发出的功能强大的绘图工具,这也是学习生信必须掌握的一个技术,在之后的介绍中,将会对不同图像的绘制方法,以及相应参数的调整使用进行介绍

ggplot2使用介绍中说到,ggplot2具有基于图形语法 (Wilkinson 2005) 的基础语法,可以通过组合独立的组件来组合图形。虽然需要进行相关语法的学习,但是ggplot2是相当容易上手的,不过就是需要一些时间来忘记使用其他的图形绘制工具带来的先入为主的习惯。

ggplot2下载

有两个方法可以获得ggplot2包,首先是可以下载tidyverse包,tidyverse是一个为数据科学设计的R包集合,它不仅包含了ggplot2,也对dplyr(数据处理)、tidyr(数据清洗)、stringr(字符处理)等R包进行了整合,更加推荐直接下载tidyverse包,这样会省去很多加载更多R的麻烦(~ ̄▽ ̄)~

install.packages("tidyverse")

当然,如果只需要下载ggplot2的话也很简单

install.packages("ggplot2")

ggplot2基本用法

ggplot2的语法使用相对比较简单,只要有数据、美学以及想要的几何性状着三个部分就可以对数据进行可视化,同时也可以对细节进行修改,使绘制的图象更加精美

ggplot(data = DATA, mapping = aes()) + 
 geom_*() +
 coord_() + 
 facet_() +
 theme() +
 scale

ggplot() : 创建画布

data : DATA为对应变量所在的数据框

mapping : 绘图变量,aes()为对统计对象的美学

goem_*() : 几何形状的选择

coord_() : 坐标轴转换

facet_() : 图形分面

theme() : 主题模板

scale : 图形细节

ggplot2各参数使用

1 - goem_*() : 几何形状的选择

ggplot2可绘制的图像有很多,基本上覆盖了常用的图象绘制,之后将逐渐对每种图象的绘制进行介绍

geom_point() #散点图

geom_line() #线型图

geom_bar() #柱状图

geom_density() #密度图

geom_boxplot() #箱线图

geom_histogram() #直方图

......

2 - coord_() : 坐标轴转换

coord_()可以控制x轴y轴的位置,他不会对图象的内部数值进行干预

##对指定区域进行放大,expand=T则指定与轴两端还留一些空隙,expand=F则消除间隙
coord_cartesian(xlim = c(Num,Num), ylim = c(Num,Num), expand = TRUE)

##控制图象的长宽比例,ratio越小,图形越扁
coord_fixed(ratio = 1, expand = TRUE)

##控制横纵轴位置互换
coord_flip(expand = TRUE)

##可以用这个函数将柱状图转为饼图,theta决定横、纵轴弯曲,start控制弯曲弧度,direction代表数据排列顺序(1 = 顺时针)
coord_polar(theta = "x/y, start = 0, direction = 1)

......

3 - facet_() : 图形分面

facet_()可以根据你想要的方式对图象进行分面展示,可以每一部分看起来更有条理,使用方法也很简单

##按行进行分面
facet_wrap(x~,)  

##按列进行分面
facet_wrap(,y~)  

##对行列进行矩阵排布
facet_wrap(vars(x),vars(y))  

......

也可以在函数内部添加参数图象看起来更自然

##按行进行分面,x轴取值范围自适应
facet_wrap(x~,scales="free_x")  

##按列进行分面,y轴取值范围自适应
facet_wrap(,y~,scales="free_y")  

##对行列进行矩阵排布,x、y轴取值范围自适应
facet_wrap(vars(x),vars(y),scales="free")  

......

4 - theme() : 主题模板

可以直接使用theme()对图象的相关主题进行修改,其中ggplot2中包含了一些预设的主题可以使用,也有一些R包可以有更多可选择的主题样式,当然也可以通过相关的主题元素手动进行细节上的修改,这个就需要看个人需求了

##对对应标题、标签进行修改
element_text()

##对相关线条修改
element_line()

##对背景修改
element_rect()

##对对应内容及进行取消
element_blank() 

......

5 - scale图形细节

scale控制着图象相关属性的细节,可以对标签、标题、轴数据等进行细节优化,让图象看起来更漂亮

ggtitle()  #添加标题
xlab(),ylab  #添加轴标签
xlim(),ylim  #设置轴数据范围
expand_scale()  #轴与数据的距离
scale_linetype()  #线条性状
scale_color/size/shape_manual()  #自定义颜色、大小、形状
......

以上是对ggplot2的一些简单介绍,未来将根据绘制不同的图象将详细参数信息和应用进行介绍和讲解,敬请期待(~ ̄▽ ̄)~

未完待续

参考资料


使用图形语法创建优雅的数据可视化 ? ggplot2

Tidyverse

作者 :夏末白羽
转载 :R语言绘图之ggplot2(其之零)-基本介绍
来源 :微信公众号
著作权归作者所有,任何形式的转载都请联系作者。

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容