R语言ggforce绘制线段方法_第1页
R语言ggforce绘制线段方法_第2页
R语言ggforce绘制线段方法_第3页
R语言ggforce绘制线段方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、R语言ggforce绘制线段的方法线段是最基本的集合图形。ggplot2 中,geom_segementgeom_linegeom_path 等函数都可以将两点连接而成线段。这些函数能满足大多数的作图需要。ggforce 包也提供了三个函数用以绘制线段,分别是geom_linkOgeomJink和geom_link2o geom_linkO与geom_segement的功能完全相同,本文主要介绍geom_link和 geomink2的使用,以及与其他函数的异同。线段的粗细和颜色渐变ggforce包中的geomjink函数与geom_segement的用法相同,必须提供线 段的起点和终点,将两点

2、连接成线段。geomink函数额外增加了图像插值,与 alpha和size配合使用,实现线段尺寸和颜色渐变效果。require(ggforce)#产生数据集lines lines - data.frame( x = c(5,5,5),y =xend = c(19,19,19), yend = c(10,n,12)#geom_segementfflj 线段 plggplot(data = lines,aes(x = x, y = y, xend = xend, yend = yend, colour = rainbow(3)4- geom_segment(aes(si ze=l:3) + lab

3、s(ti tie = Mgeom_s egmen tM ) 4- theme(plot.title = element_text(hjust = 0.5) #geom_l i nk 画线段 p2 ggplot(data = lines,aes(x = x, y = y, xend = xend, yend = yend, colour = rainbow(3), alpha = . .index.geom_l ink(aes(size = . index. )4- labs (ti tie = *geom_l ink*) +theme(plot.title = element_text(hju

4、st = 0.5) #合并图形ggplot2.multiplot(pl,p2, cols=2)以上代码首先产生一个数据集lines,该数据集中为三条线段的起点,xend和 yend为对应的终点坐标。labs函数为图形设置标题,theme函数将标题居中。利 用geom_link绘制线段时,alpha设置为index,表示颜色从左往右渐变。size设 定为index,表示线段粗细自左往右变粗。ggplot2.multiplot函数将两图合二为一。 具体图形如下列图图二。12.0-11.5- 11.010.5-geom_segmentrainbow(3)#OOOOFFFF#OOFFOOFF#FFOO

5、OOFF12.0-11.5-10.5-geomjinkA11.0rainbow(3)#OOOOFFFF一#OOFFOOFF#FFOOOOFFindex10.0-III 81216Xgeom_path 和 geom_line在ggplot2中,geom_path和geomjine函数的作用是多点连接,二者很多时 候会产生相同的图形结果,但也略有不同。geomine会按照线段端点的x坐标 排序,按从小到大的顺序将多点连接在一起。geom_path在连接多点时,是按照 各点坐标的排列顺序。以下代码是两个函数的比拟。产生数据集lineslset.seed(123)1inesl - data.frame

6、(x = rep(5:l,2),yl = rnorm(lO)利用geom_l i ne连接线段pl=ggplot(1inesl, aes(x, yl) +geom_point+geom_line()+1abs(titie = geom_li ne) +theme plot.title = element_text hjust = 0.5)利用geom_path连接线段p2=ggplot(1inesl, aes(x, yl) +geom_poi nt ) +geom_path:)+1abs(ti tie = geom_path) +theme plot.title = element_text

7、hjust = 0.5)合并图形 .ggplot2.multi plot pl,p2, cols=2)数据集lines 1包含两列,x和yl分别是10个点的横纵坐标。x的数据为 5,4,321,54321。由于15分别出现了两次,因此在x=l5处均有两个点。 当用geomjine绘图时,折线的起始点是x的最小值1,终点为x的最大值5。当用geom_path绘图时,x的第一个数值是5,因此其图形的起始点在x=5处。 具体如图四所示。geomjinegeom_path TOC o 1-5 h z IIIIIIIII1234512345XXgeom_link2geomjink2的引用方法与geom_

8、path函数的用法相同。geom_link2在 geom_path的基础上增加了一个参数n,通过设定不同的n值实现图形渐逐功能。 n值的设定是该函数很容易出错的地方(是一个坑)。下面是不同n值设定时的 代码。pl-ggplot data = linesl, aes (x = x, y = yi, group = 1, colour = rainbow 10 )+geom_li nk 2 1wd=2,n=9)+geom_point 1wd=3) + labs(title = Mn=9)+theme plot.title = element_text hjust = 0.5) p2-ggplot(

9、data = linesl, aes (x = x,y = yi, group = 1, colour = rainbow(lO) )+geom_l -i nk2 1 wd=2 , n=90 )+geom_poi nt lwd=3 ) + labs(title = n=90)+theme plot.title = element.text hjust = 0.5) #合并图形ggplot2.multiplot pl,p2, cols=2)参数n表示图形中所画线段的总数,其默认值为100。n的应设置为两点之 间所画线段数的倍数。上面代码利用了 linesl数据集的数据,总共10个点,假设仅仅将10个点连接起来,应画9条线段,因此该数据集在利用geomink2绘图 时,n值应设定为9的倍数。应该注号的是,geom_link2实际绘制的线段数为n-1条。如上面代码的pl 中,n=9,表示简单的10个点连接起来,然而此时geomink2只画了 8条线段。 在p2中,n=90, geomink2实际

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论