标签:等价 颜色 bre 箱线图 diff tchar 文本 compare rman
3.1 使用图形
detach(mydata) #链接数据框
plot(S3,S4)
abline(lm(S3~S4)) #添加最优拟合曲线
title("heheh,fuck you")
detach(mydata) #关闭链接数据框 mydata
保存文件为pdf在程序前后加上两句
pdf("c:\\users\\011\\deaktop\\mydata.pdf") #保存为pdf格式到桌面
detach(mydata)
plot(S3,S4)
abline(lm(S3~S4))
title("heheh,fuck you")
detach(mydata)
dev.off() #关闭链接
除了pdf()以外,还可以使用函数win.metafile()、png()、jpeg()、bmp()、tiff()、xfig()和postscript()将图形保存为其他格式。
执行plot(),hist()绘制直方图时会覆盖先前的图形。如果要创建新的图形可以这样:
1、打开新的图形窗口
dev.new()
statements to create graph 1
dev.new()
statements to create graph 2
etc.
2、使用dev.new()、dev.next()、dev.prev()、dev.set()和dev.off()同时打开多个图形窗口。
dose<-c(20,30,40,45,60)
drug1<-c(16,20,27,40,60)
drug2<-c(15,18,25,31,40)
plot(dose,drug1,type="b") #type="b"
3.2 eg
> dose <-c(20,30,40,45,60)
> drugA <-c(16,20,27,40,60)
> drugB <-c(15,18,25,31,40)
> plot(dose,drugA,type = "b")
3.3 图形参数
> opar<-par(no.readonly=TRUE) #生成一个可以修改的当前图形参数列表。
> par(lty =2,pch =17) #lty=2表示将默认的线条改成虚线 pch=17 将默认的点符号改成实心三角
> plot(dose,drugA,type = "b") #par(lty =2) par(pch=17) 也是可以的
> par(opar)
亦或 t(dose,drugA,type="b",lty=2,pch=17)
【3.3.1 符号和线条】
pch = 用于指定绘制点时使用的符号。
对于边界21~25,可以指定边界颜色(col=)和填充色(bg=)
lty=用于指定想要的线条类型。
【3.3.2】 颜色
颜色可以通过颜色下标,颜色名称,十六制颜色值,RGB值或HSV值指定颜色。
eg: col=1,col="white",col="#FFFFFF",col=rgb(1,1,1),col=hsv(0,0,1) 都是表示白色的等价方式。
R中有很多种创建连续型向量的函数,包括rainbow(),heat.colors(),terrain.colors(),topo.colors()以及cm.colors()
距离来说:rainbow(10)可以生成10种连续的彩虹型颜色。多阶灰度色可以使用gray()函数生成。这是要通过一个元素值为0~1之间的向量来指定各颜色的灰度。
gray(0:10/10)将生成10阶灰度色。
n<-10
mycolors<-rainbow(n)
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays<-gray(0:n/n)
pie(rep(1,n),labels=mygrays,col=mygrays)
【3.3.3】 文本属性
eg: par(font.lab = 3 , cex.lab = 1.5 , font.main = 4 , cex.main = 2)
斜体 坐标轴标签1.5倍 粗斜体 标题2倍
【3.3.4】 图形尺寸和边界尺寸
> dose<-c(20,30,40,45,60)
> drugA <-c(16,20,27,40,60)
> drugB <-c(15,18,25,31,40)
> opar<-par(no.readonly = TRUE)
> par(pin=c(2,3),mai=c(1,.5,1,.2)) #生成宽2英寸,高3英寸,上下边界为1英寸,0.5英寸,
左右边界为1英寸,0.2英寸
> par(lwd=2,cex=1.5) #线条的宽度为默认的宽度的两倍,符号为默认的1.5倍
> par(cex.axis=.75,font.axis=3)
> plot(dose,drugA,type="b",pch=19,lty=2,col="red")
> plot(dose,drugB,type="b",pch=23,lty=6,col="blue",bg="green")
> par(opar) #还原了初始图形参数设置
高级函数中已经存在了默认的标题和标签,可以在plot或者是par中添加 ann=FALSE来进行移除
axes = TRUE 禁用所有坐标轴,xaxt="n" yaxt="n"禁用x,y轴
3.4.1 标题
使用title( )函数来为图形添加标题和坐标轴标签。
title(main = "main title",sub = "sub-title",xlab = "x-axis label",ylab = "y-axis label")
3.4.2 坐标轴
axis(side,at = ,labels=,pos=,lty=,col=,las=,tck=,......)
library(Hmisc)
minor.tick(nx=n,ny=n,tick.ration=n) 添加次要刻度线,nx,ny代表X轴,Y轴每两条主刻度线之间划分的去取件个数
tick.ration 代表 相对于主刻度线,次刻度线的大小
3.4.3 参考线
abline(h = yvalues,v = xvalues) # 添加参考线
abline(h = c(1,5,7)) # 在y为1,5,7的位置添加水平实线
abline(v=seq(1,10,2),lty=2,col="blue") # 在x为1,3,5,7的位置添加了垂直的蓝色虚线
3.4.4 图例
legend(location,title,legend,......)
bty 指定盒子样式
bg 指定背景色
cex 指定大小
text.col 指定文本颜色
horiz=TRUE 水平放置图例
eg:
> dose<-c(20,30,40,45,60)
> drugA<-c(16,20,27,40,60)
> drugB<-c(15,18,25,31,40)
> opar<-par(no.readonly=TRUE)
> par(lwd=2,cex=1.5,font.lab=2)
> plot(dose,drugA,type="b",pch=15,lty=1,col="red",ylim=c(0,60),main="DrugA vs .DrugB",xlab = "Drug Disage",ylab = "Drug Response")
> lines(dose,drugB,type="b",pch=17,lty=2,col="blue")
> abline(h=c(30),lwd=1.5,lty=2,col="gray")
3.5 添加标注
text(location,"text to place",pos,......)
mtext("text to place ",side,line=n,.....)
text ( x,t,rownames ( counts ) ,cex = .6,pos = 4,col = "red" ) #-----添加各数据标注
【条形图---类别型变量(频数)】
barplot(类别变量) #类别行变量为 因子或有序型因子
barplot(height) heigtht就是一个向量或矩阵
horiz=TRUE会生成一副水平条形图
如果height是矩阵,绘图结果会变成堆砌条形图或分组条形图。
若beside=FALSE,则矩阵中的每一列都将生成图中的一个条形,各列中的值将会给出堆砌的字条的高度。若为 TRUE,各列中的值将会并列。
names.arg = means$groupe.1 表示用means中的groupe.1 变量进行标注分类
cex.axis =0.75 代表纵轴尺寸,cex.names = 0.5 代表横轴的尺寸
【棘状图】对堆砌条形图进行了缩放,每个条形的高度均为1,每一段的高度表示比例。
spine(变量型矩阵)
spine(counts,main = "sprinoram example")
【饼图】---数值型向量
pie(x,labels) x是非负数向量,表示各个扇形的面积,而labels是表示各扇形标签的字符型向量
par(mfrow=c(2,2))
slices=c(10,12,4,16,8)
lbls=c("US","GERMAN","CHINA","JAPAN","AUSTRALIA")
pie(slices,labels = lbls,
main = "my pie autogram")
pct = round(slices/sum(slices)*100)
lbls2=paste(lbls," ",pct,‘%‘,seq="")
lbls2
pie(slices,labels = lbls2,col=rainbow(length(slices)),
cex=0.8,radius = 1.5 (设置半径让图变大)
)
【扇形图】
plotrix包中的fan.plot()函数
【直方图】 --数值型向量
hist(x)
par(mfrow=c(2,2))
hist(mtcars$mpg)
hist(mtcars$mpg,
breaks = 12, #将组数分为12组
col="red",
xlab="x miles per gallon",main="colored histogram with 12 bins")
hist(mtcars$mpg,
freq=FALSE, #纵坐标显示概率
breaks = 12,
col="red",
xlab="miles per gallon",main="hhaa")
rug(jitter(mtcars$mpg,amount=0.01)) #轴须图 amount将结数据打散,并将每个数据点添加随机值,以免重叠的点产生影响
lines(density(mtcars$mpg),col="blue",lwd=2) #密度曲线
h<-hist(mtcars$mpg,
freq=FALSE, #纵坐标显示概率
breaks = 12,
col="red",
xlab="miles per gallon",main="hhaa")
xfit<-seq(min(mtcars$mpg),
max(mtcars$mpg),length=40)
yfit<-dnorm(xfit,
mean = mean(mtcars$mpg),
sd=sd(mtcars$mpg))
yfit<- yfit*diff(h$mids[1:2])*length(mtcars$mpg)
lines(xfit,yfit,col="blue",lwd=2) #添加正态曲线
box() #添加盒子外框
rug(jitter(mtcars$mpg,amount=0.01)) #将每个数据点添加一个小的随机值(+-amount之间的均匀分布随机数),以避免重复的值产生影响。
【核密度图】 --数值型向量
plot(density(x)) x为数值型变量 因为plot会创建新的图形,所以在旧图上添加曲线用lines()函数
使用sm.density.compare进行核密度图的叠加
sm.density.compare(x,factors) #x是数值型变量 factor是一个分组变量
par(lwd=2)
install.packages("sm")
library(sm)
attach(mtcars)
cyl.f<-factor(cyl,levels=c(4,6,8),
labels=c("4 cylinder","6 cylinder","8 cylinder"))
sm.density.compare(mpg,cyl,xlab="x zhou miles per gallon")
title(main="mpg distrabution by car cylinders")
colfill<-c(2:(1+length(levels(cyl.f))))
legend(locator(1),levels(cyl.f),fill=colfill)
【并列箱型图进行跨组比较】
boxplot(formula,data=dataframe) formula是一个公式,dataframe代表数据框,varwidth=TRUE将使箱线图的宽度与其样本大小的平方根成正比。参数horizontal = TRUE 可以反转坐标轴的方向。
formula示例:y~A*B A*B是类别向量,A和B的所有水平的两两组合生成数值型变量y的箱线图
notch=TRUE ,可得含凹槽的箱线图,若两个凹槽重叠,表明中位数有显著差异
boxplot(mpg~cyl,data=mtcars,
notch=TRUE, #含凹槽的箱型图
varwidth=TRUE, #使箱型图的宽度与各自的样本大小成正比
col="red",
main="car mileage data",
xlab="number"
)
交叉箱型图:
【点图】 --数值型向量
dotchart(x,labels=) 【分组点图】
x<-mtcars[order(mtcars$mpg),]
x$cyl<-factor(x$cyl)
x$color[x$cyl==4]<-"red" #将cyl等于的4的color值标为红色
x$color[x$cyl==6]<-"blue"
x$color[x$cyl==8]<-"darkgreen"
dotchart(x$mpg,labels = row.names(x),
cex = .7,
groups = x$cyl, #根据xyl进行分组
gcolor = "black", #分组变量以黑色显示
color = x$color, #点和标签的颜色来自向量color
pch=19, #点以圆圈表示
main="gas mileage for car model\ngrouped by cylinder",
xlab="miles per gallon"
)
标签:等价 颜色 bre 箱线图 diff tchar 文本 compare rman
原文地址:http://www.cnblogs.com/groupe/p/7986095.html