mar 图形的内边界, 即外边界与坐标轴之间的距离. 通常设为(4,4,2,1)
oma 图形的外边界, 通常设为(0,0,0,0)
mgp=c(3,1,0) 坐标轴及刻度与边界的距离
文本属性(用来指定字号、字体、字样)
cex.axis:坐标轴刻度文字的缩放倍数
cex.lab:坐标轴标签(名称)的缩放倍数
cex.main:标题的缩放倍数
cex.sub:副标题的缩放倍数
font:整数.用于指定字体样式.1常规、2粗体、3斜体、4粗斜体
family: 全局字体,特指字体的类型,如宋体还是楷体par(family="GB1")
axes=FALSE 将禁用全部坐标轴,框架和刻度全部没有了
xaxt="n" 禁用x轴的刻度线
yaxt="n" 禁用y轴的刻度线
xlim x坐标轴的范围,只写出最小值和最大值
ylim y坐标轴的范围,只写出最小值和最大值
画坐标轴函数axis
at:一个数值向量,表示需要绘制刻度线的位置
labels:一个字符型向量(也可以是数值型),表示刻度线旁边的文字标签(刻度值),如果整个不写,则直接使用at的值
col:线条和刻度的颜色
lty:线条类型
las:标签的字体是否平行(=0)或者垂直(=2)坐标轴
tck:刻度线的长度(默认值-0.01,负值表示刻度在图形外,正值表示刻度在图形内侧)
小数点显示格式
options(digits = 7) # 控制要打印数值的位数(最大只能到22)
options(scipen = 100) # 平时常用的数值或科学计 数法输出,此处用于设置显示的位数
format 函数
# format 主要是为了输出一个统一的格式.
# format 函数的作用是使x中各元素统一成一样的格式,具体来说是将它们统一为相同的宽度,不足的用空格补齐,这时数字会自动转化为字符.
format(c(6.0, 13.1), digits = 2) #保留两位有效数字
format(1:10) # 注意数字1-9前面的空格.
format(2^31-1, scientific = TRUE) #用科学计数法表示该数值,如果想显示全的话可以把scientific设置为FALSE
signif 函数
signif 主要是用于指定参数的有效数字的四舍五入.
x2 = c(0.03141593,3.14159265,314.15926536,31415.92653590,3141592.65358979)
signif(x2, 3)
round(x2, 3)
是保留小数点后三位有效数字.
除了保留小数位数,还有一种常用的数字格式是将整数统一为相同的位数,不足的在前面加0,如将1补为001,这时需使用sprintf(fmt, ...)函数.sprintf函数取自C语言,参数fmt即最终输出的格式.sprintf(fmt, x)意味着将x按fmt中给出的格式插入到fmt中%符号所在的位置.
sprintf("%s is %f feet tall\n", "Sven", 7.1)
# 上式意味着将Sven插入到%s is %f feet tall\n这句话的%s处,将7.1插入到%f处,其中后缀s和f代表了数据格式是字符型和双精度数字.如果是整数型数字,可用d, i, o, x, X做后缀,其中o代表转化为八进制整数格式,x和X代表转化为十六进制整数格式.
# 将1补为001可以使用sprintf(‘%03d’, 1)实现.
sprintf('%03d', 1)
读取 UTF-8 数据文件
GBA_txt
write.csv(dfseg,"mycsv.csv",row.names = FALSE,fileEncoding = "UTF-8")
GBATXTT=read.csv("mycsv.csv",fileEncoding = "UTF-8")
setEPS()
postscript("myFigure.eps",width=2.756*4,height=1.870*4)
plot(rnorm(100), main="Hey Some Data")
dev.off()
pdf(file="myFigure.pdf",width=2.756*4,height=1.870*4)
plot_chap1_1b()
dev.off()
提取工作日
Sindex=seq.Date(from=as.Date("2010/01/01",format="%Y/%m/%d"),by="day",length.out=10)
Sindex[which(weekdays(Sindex) %in% c("星期一","星期二","星期三","星期四","星期五"))]
替换函数 bquote quote substitute函数
require(graphics)
bquote(a == a)
bquote(a == a)
quote(a == a)
bquote(a == .(a))
substitute(a == A, list(A = a))
plot(1:10, a*(1:10), main = bquote(a == .(a)))
## to set a function default arg
default
bquote( function(x, y = .(default)) x+y )
1、函数lines()其作用是在已有图上加线,命令为lines(x,y),其功能相当于plot(x,y,type="1") 两点连线
lines(c(0.1,0.1),c(0,0.1))
2、函数abline()可以在图上加直线,其使用方法有四种格式。
# 2.1 abline(a,b) 表示画一条y = a + bx的直线
abline(a,b)
# 2.2 abline(h=y) 表示画出一条过所有点得水平直线
y = 5
abline(h = y)
# 2.3 abline(v=x) 表示画出一条过所有点的竖直直线
abline(v = y)
# 2.4 abline(lm.obj) 表示绘出线性模型得到的线性方程
画直角坐标系
par(mar=c(1,1,1,1)+0.1,cex=0.8)
plot(0,0,type = 'l', axes=FALSE,xlab = '',ylab = '', xlim = c(-10,11), ylim = c(-10,11))
arrows(x0 = -11, y0 = 0, x1 = 11, y1 = 0, length = 0.1)
arrows(y0 = -11, x0 = 0, y1 = 11, x1 = 0, length = 0.1)
for(i in seq(-10,10,by=1)){
x = c(i,i);y = c(0,0.25)
lines(x,y)
if(i != 0) text(x[1],-0.5,i,cex = 0.6)
for(i in seq(-10,10,by=1)){
x = c(0,0.25); y = c(i,i)
lines(x,y)
if(i != 0) text(-0.5,y[1],i,cex = 0.6)
text(-0.25,-0.5,'0',cex = 0.6)
铺抓错误信息
code = "aa>1"
if(length(class(x)) > 1){
if(class(x)[2]=="error"){ cat(paste0(x)) }
直方图加密度曲线
score
hist(score, freq=FALSE, xlab="Score",main="Distribution of score",
col="lightgreen", xlim=c(0,150), ylim=c(0, 0.02))
curve(dnorm(x, mean=mean(score), sd=sd(score)),
add=TRUE, col="darkblue", lwd=2)