R语言学习

R003 基础画图

2020-06-12  本文已影响0人  caoqiansheng
R基础画图

1. 图形创建及保存

1.1 图形创建
> attach(mtcars)                        ### 绑定了数据框mtcars
> plot(wt,mpg)                          ###打开了一个图形窗口并生成了一幅散点图,横轴表示车身重量,纵轴为每加仑汽油行驶的英里数。
> abline(lm(mpg~wt))                    ###向图形添加了一条最优拟合曲线
> title("Regression of MPG on Weight")  ### 添加了标题
> detach(mtcars)                        ###为数据框解除了绑定
1.2 创建新的图形窗口

在通过执行如plot()、hist()(绘制直方图)或boxplot()这样的高级绘图命令来创建一幅新图形时,通常会覆盖掉先前的图形。在创建多个图形时为随时查看每一个,方法如下:
1)在创建新的图形之前,打开新的图形窗口

> ​​dev.new()
> plot()
> dev.new()
> hist()

2)​你可以通过图形用户界面来查看多个图形。在Mac上,你可以使用Quartz菜单中的“后退”(Back)和“前进”(Forward)来逐个浏览图形。在Windows上,这个过程分为两步。在打开第一个图形窗口以后,勾选“历史”(History)→“记录”(Recording)。然后使用菜单中的“上一个”(Previous)和“下一个”(Next)来逐个查看已经绘制的图形

1.3 dev类函数功能

2. 图形参数

2.1 图形参数分类
2.2 图形参数设置

par函数用于指定一幅图形的多个特征(字体、颜色、坐标轴、标签)。以这种方式设定的参数值除非被再次修改,否则将在会话结束前一直有效。其调用格式为par(optionname=value, optionname=name,...)。不加参数地执行par()将生成一个含有当前图形参数设置的列表。添加参数no.readonly=TRUE可以生成一个可以修改的当前图形参数列表。

​> str(par())
#### str(objections)函数,也即structure,查看对象objections的内部结构​
List of 72
 $ xlog     : logi FALSE
 $ ylog     : logi FALSE
 $ adj      : num 0.5
 $ ann      : logi TRUE
 $ ask      : logi FALSE
 $ bg       : chr "white"
 $ bty      : chr "o"
 $ cex      : num 1
 $ cex.axis : num 1
 $ cex.lab  : num 1
 $ cex.main : num 1.2
 $ cex.sub  : num 1
 $ cin      : num [1:2] 0.15 0.2
 $ col      : chr "black"
 $ col.axis : chr "black"
 $ col.lab  : chr "black"
 $ col.main : chr "black"
 $ col.sub  : chr "black"
 $ cra      : num [1:2] 14.4 19.2
 $ crt      : num 0
 $ csi      : num 0.2
 $ cxy      : num [1:2] 0.0181 0.0507
 $ din      : num [1:2] 9.51 5.78
 $ err      : int 0
 $ family   : chr ""
 $ fg       : chr "black"
 $ fig      : num [1:4] 0 1 0 1
 $ fin      : num [1:2] 9.51 5.78
 $ font     : int 1
 $ font.axis: int 1
 $ font.lab : int 1
 $ font.main: int 2
 $ font.sub : int 1
 $ lab      : int [1:3] 5 5 7
 $ las      : int 0
 $ lend     : chr "round"
 $ lheight  : num 1
 $ ljoin    : chr "round"
 $ lmitre   : num 10
 $ lty      : chr "solid"
 $ lwd      : num 1
 $ mai      : num [1:4] 1.02 0.82 0.82 0.42
 $ mar      : num [1:4] 5.1 4.1 4.1 2.1
 $ mex      : num 1
 $ mfcol    : int [1:2] 1 1
 $ mfg      : int [1:4] 1 1 1 1
 $ mfrow    : int [1:2] 1 1
 $ mgp      : num [1:3] 3 1 0
 $ mkh      : num 0.001
 $ new      : logi FALSE
 $ oma      : num [1:4] 0 0 0 0
 $ omd      : num [1:4] 0 1 0 1
 $ omi      : num [1:4] 0 0 0 0
 $ page     : logi TRUE
 $ pch      : int 1
 $ pin      : num [1:2] 8.27 3.94
 $ plt      : num [1:4] 0.0862 0.9558 0.1764 0.8582
 $ ps       : int 12
 $ pty      : chr "m"
 $ smo      : num 1
 $ srt      : num 0
 $ tck      : num NA
 $ tcl      : num -0.5
 $ usr      : num [1:4] 0 1 0 1
 $ xaxp     : num [1:3] 0 1 5
 $ xaxs     : chr "r"
 $ xaxt     : chr "s"
 $ xpd      : logi FALSE
 $ yaxp     : num [1:3] 0 1 5
 $ yaxs     : chr "r"
 $ yaxt     : chr "s"
 $ ylbias   : num 0.2
str(par(no.readonly=TRUE))
List of 66
 $ xlog     : logi FALSE
 $ ylog     : logi FALSE
 $ adj      : num 0.5
 $ ann      : logi TRUE
 $ ask      : logi FALSE
 $ bg       : chr "white"
 $ bty      : chr "o"
 $ cex      : num 1
 $ cex.axis : num 1
 $ cex.lab  : num 1
 $ cex.main : num 1.2
 $ cex.sub  : num 1
 $ col      : chr "black"
 $ col.axis : chr "black"
 $ col.lab  : chr "black"
 $ col.main : chr "black"
 $ col.sub  : chr "black"
 $ crt      : num 0
 $ err      : int 0
 $ family   : chr ""
 $ fg       : chr "black"
 $ fig      : num [1:4] 0 1 0 1
 $ fin      : num [1:2] 9.51 5.78
 $ font     : int 1
 $ font.axis: int 1
 $ font.lab : int 1
 $ font.main: int 2
 $ font.sub : int 1
 $ lab      : int [1:3] 5 5 7
 $ las      : int 0
 $ lend     : chr "round"
 $ lheight  : num 1
 $ ljoin    : chr "round"
 $ lmitre   : num 10
 $ lty      : chr "solid"
 $ lwd      : num 1
 $ mai      : num [1:4] 1.02 0.82 0.82 0.42
 $ mar      : num [1:4] 5.1 4.1 4.1 2.1
 $ mex      : num 1
 $ mfcol    : int [1:2] 1 1
 $ mfg      : int [1:4] 1 1 1 1
 $ mfrow    : int [1:2] 1 1
 $ mgp      : num [1:3] 3 1 0
 $ mkh      : num 0.001
 $ new      : logi FALSE
 $ oma      : num [1:4] 0 0 0 0
 $ omd      : num [1:4] 0 1 0 1
 $ omi      : num [1:4] 0 0 0 0
 $ pch      : int 1
 $ pin      : num [1:2] 8.27 3.94
 $ plt      : num [1:4] 0.0862 0.9558 0.1764 0.8582
 $ ps       : int 12
 $ pty      : chr "m"
 $ smo      : num 1
 $ srt      : num 0
 $ tck      : num NA
 $ tcl      : num -0.5
 $ usr      : num [1:4] 0 1 0 1
 $ xaxp     : num [1:3] 0 1 5
 $ xaxs     : chr "r"
 $ xaxt     : chr "s"
 $ xpd      : logi FALSE
 $ yaxp     : num [1:3] 0 1 5
 $ yaxs     : chr "r"
 $ yaxt     : chr "s"
 $ ylbias   : num 0.2
2.3 图形参数
2.3.1 符号及线条(point&lines)
2.3.2 颜色(color)

在R中,可以通过颜色下标、颜色名称、十六进制的颜色值、RGB值或HSV值来指定颜色。举例来说,col=1、col="white"、col="#FFFFFF"、col=rgb(1,1,1)和col=hsv(0,0,1)都是表示白色的等价方式。函数rgb()可基于红-绿-蓝三色值生成颜色,而hsv()则基于色相-饱和度-亮度值来生成颜色。

颜色参数设置
创建连续型颜色向量的函数
2.3.3 文本属性
字号
字体(font)
2.3.4 图形尺寸及边界尺寸
2.3.5 添加文本、自定义坐标轴和图例
参数 含义
x, y x,y用于定位图例,也可用单键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" and "center"
legend 字符或表达式向量
fill 用特定的颜色进行填充
col 图例中出现的点或线的颜色
border 当fill = 参数存在的情况下,填充色的边框
lty, lwd 图例中线的类型与宽度
pch 点的类型
angle 阴影的角度
density 阴影线的密度
bty 图例框是否画出,o为画出,默认为n不画出
bg bty != "n"时,图例的背景色
box.lty, box.lwd, box.col bty = "o"时,图例框的类型,box.lty决定是否为虚线,box.lwd决定粗线,box.col决定颜色
pt.bg 点的背景色
cex 字符大小
pt.cex 点的大小
pt.lwd 点的边缘的线宽
x.intersp 图例中文字离图片的水平距离
y.intersp 图例中文字离图片的垂直距离
adj 图例中字体的相对位置
text.width 图例字体所占的宽度
text.col 图例字体的颜色
text.font 图例字体
merge logical, if TRUE,合并点与线,但不填充图例框,默认为TRUE
trace logical; if TRUE显示图例信息
plot logical. If FALSE不画出图例
ncol 图例中分类的列数
horiz logical; if TRUE,水平放置图例
title 给图例加标题
inset 当图例用关键词设置位置后,inset = 分数,可以设置其相对位置
xpd xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用
title.col 标题颜色
title.adj 图例标题的相对位置,0.5为默认,在中间。0最左,1为最右
seg.lenlty 与lwd的线长,长度单位为字符宽度

参考
1.卡巴科弗. R语言实战[M]. 人民邮电出版社, 2013.

上一篇 下一篇

猜你喜欢

热点阅读