3.1使用图形

可以使用pdf等函数将图形直接保存在文件中。在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数。

plot是一般的画图函数,hist是直方图,boxplot是箱型图。这些函数会覆盖前面的图形,如何创建多个图形便于同时查看呢?方法有三:

1、创建新图形之前先打开一个新的图形窗口,每一幅新图形会出现在最近的图形窗口中。

dev.new()
语句1
dev.new()
语句2
……

上面的语句,每显现一幅图形之前会新开一个窗口。

2、运用图形界面上的前进后退按钮即可。

3、可以使用dev.new,dev.next,dev.prev,dev.set等函数同时打开多个窗口,并选择将哪个输出到哪个窗口中。使用help(dev.cur)查看说明。这个貌似比较麻烦。

如果将不同的图形放在一个窗口中,可以先用par(mfrow = c(2,3))类似语句创建一个2行3列的图形集合,然后用plot一个一个画图就行了,结果见下图:

3.2一个简单的例子

3.3图形参数

可以通过图形参数自定义一幅图的多个特征(字体、颜色、坐标轴、标题、图例等)。par函数可以对图形参数进行设置,执行par()可以查看各种参数,添加参数no.readonly = TRUE,可以查看可修改的参数列表。需要说明的是,设置par之后在关闭软件前(会话结束前)一直有效。

可以先记录原始参数,然后结束一段语句之后再进行还原。比如:

opar <- par(no.readonly = TRUE) #记录初始设置
par(lty = ,pch = )
...
par(opar) #进行还原

当然可以在plot函数的后面直接设置参数。并不是所有的参数都是可以指定的,用help函数可以查看具体函数。下面介绍一些图形参数。

3.3.1符号和线条

开启截图模式:

具体的见下面截图:

上图中的21-25可以指定边框的颜色(col=)和填充的颜色(bg=).

上面是线型的设置。

3.3.2下面是颜色的设置

上面是颜色的设置说明,需要在具体的函数上进行实现和验证。col函数后面可以用编号、颜色名称、十六进制颜色值、RGB、HSV等进行设置。RGB是三原色,HSV是基于色相、饱和度、亮度来生成函数。colors可以查看所有颜色名称,嗯,657种。http://research.stowers-institute.org/efg/R/Color/Chart 有非常直观的颜色说明!

可以由很多函数来生成连续的颜色,rainrow(),heat.colors(),terrain.colors()topo.colors(),cm.colors()等,gray函数可以产生多阶灰度,后面加一个0-1之间的向量。

pie函数用来画饼图,下面是一个例子:

par(mfrow = c(,))
n <-
mycolors <- rainbow(n)
pie(rep(:),labels = mycolors,
col = mycolors)
mygrays <- gray(:n/n)
pie(rep(,n),labels = mygrays,
col = mygrays)

下面是结果:

3.3.3文本属性

图形参数可以指定字号、字体和字样。下面是相关的参数说明:

字体族是比较难以设置的。family这里的衬线、无衬线字体和等宽字体等可以设置,windo下分别映射为TT Times New Roman、TT Arial和TT Courier New。如果想用其他映射,可以用windoFonts函数进行设置。用pdf输出图形,字体设置会简单一些,用names(pdfFonts())查看可用字体,输出是只需要在pdf函数中增加参数 family = “fontname”就可以了。PostScript格式(一种用来打印的格式字体)也是类似的道理。

3.3.4图形尺寸与边界尺寸

完整的边界指南http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/,下面写一个例子:

dose <- c(,,,,)
dragA <- c(,,,,)
dragB <- c(,,,,)
opar <- par(no.readonly = TRUE)
par(pin = c(,))
par(lwd = ,cex = 1.5)
par(cex.axis = .,font.axis = )
plot(dose,dragA,type = "b",pch = ,lty = ,
col = "red")
plot(dose,dragB,type = "b",pch = ,lty = ,
col = "blue",bg = "green")#这里的col和bg是对pch=23的图形进行的设置,当然这里的col也对线条颜色进行了设置
par(opar)

下面是结果:

《R语言实战》读书笔记--第三章 图形初阶(一)的更多相关文章

  1. 《R语言实战》读书笔记--第三章 图形初阶(二)

    3.4添加文本.自定义坐标轴和图例 很多作图函数可以设置坐标轴和文本标注.比如标题.副标题.坐标轴标签.坐标轴范围等.需要注意的是并不是所有的绘图函数都有上述的参数,需要进行验证.可以将一些默认的参数 ...

  2. R语言实战读书笔记(三)图形初阶

    这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...

  3. R语言实战读书笔记(二)创建数据集

    2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...

  4. R语言实战读书笔记1—语言介绍

    第一章 语言介绍 1.1 典型的数据分析步骤 1.2 获取帮助 help.start() help("which") help.search("which") ...

  5. Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述

    声明:    本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...

  6. R语言实战读书笔记2—创建数据集(上)

    第二章 创建数据集 2.1 数据集的概念 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和变量(variable) ,数据库分析师则称其为记录(record)和字 ...

  7. R语言实战读书笔记(八)回归

    简单线性:用一个量化验的解释变量预测一个量化的响应变量 多项式:用一个量化的解决变量预测一个量化的响应变量,模型的关系是n阶多项式 多元线性:用两个或多个量化的解释变量预测一个量化的响应变量 多变量: ...

  8. R语言实战读书笔记(五)高级数据管理

    5.2.1 数据函数 abs: sqrt: ceiling:求不小于x的最小整数 floor:求不大于x的最大整数 trunc:向0的方向截取x中的整数部分 round:将x舍入为指定位的小数 sig ...

  9. R语言实战读书笔记(四)基本数据管理

    4.2 创建新变量 几个运算符: ^或**:求幂 x%%y:求余 x%/%y:整数除 4.3 变量的重编码 with(): within():可以修改数据框 4.4 变量重命名 包reshape中有个 ...

随机推荐

  1. python中字符串编码方式小结

    Python2中字符串的类型有两种:str和unicode,其中unicode是统一编码方式,它使得字符跟二进制是一一对应的,因此所有其他编码的encode都从unicode开始,而其他编码方式按照相 ...

  2. ethereum(以太坊)(九)--global(全局函数)

    pragma solidity ^0.4.0; contract modifierTest{ bytes32 public blockhash; address public coinbase; ui ...

  3. 使用PHP生成分享图片

    小程序导航 wq.xmaht.top 假设代码中用到的资源文件夹在当前code_png目录下: /** * 分享图片生成 * @param $gData 商品数据,array * @param $co ...

  4. 最短路径之迪杰斯特拉算法(Java)

    1)Dijkstra算法适用于求图中两节点之间最短路径 2)Dijkstra算法设计比较巧妙的是:在求源节点到终结点自底向上的过程中,源节点到某一节点之间最短路径的确定上(这也是我之前苦于没有解决的地 ...

  5. P2680 运输计划(二分+树上差分)

    P2680 运输计划 链接 分析: 二分+树上差分. 首先可以二分一个答案,那么所有比这个答案大的路径,都需要减去些东西才可以满足这个答案. 那么减去的这条边一定在所有的路径的交集上. 那么如果求快速 ...

  6. 调试bug 技巧

    两天,一个小bug 我调试了两天,最终调试成功了.还是在别人的帮助下. 问题是刷新相关的.当用户登录了,其他的页面都要刷新.也就是加上一些参数. 但是有一个fragment一直加不上,其他挨着的两个都 ...

  7. JSONP解决跨域完整例子

    1.这个案例是仿照百度搜索,输入关键词,会出现下拉菜单的过程. 效果: 2.具体做法: (1)利用百度的数据库做script标签的src. 复制之后的地址是这样的 https://sp0.baidu. ...

  8. Robocopy.exe使用详例

    Robocopy.exe使用详例           Robocopy.exe 是 微软在Windows server 2003 Resource Kit Tools 里面提供的程序来做备份的.Vis ...

  9. linux udp c/s

    一.UDP C/S编程的步骤如下图所示 二.与TCP C/S通信的区别在于:服务端没有设置监听和等待连接的过程.客户端没有连接服务端的过程.基于UDP的通信时不可靠地,面向无连接的,发送的数据无法确切 ...

  10. stop-hbase.sh出现stopping hbasecat:/tmp/hbase-root-master.pid:No such file or directory

    stop-hbase.sh出现stopping hbasecat:/tmp/hbase-root-master.pid:No such file or directory解决办法:在hbase-env ...