plot与legend画图与图例

时间:2024-07-22 15:38:14

画图与图例:

legend(x, y = NULL, legend, fill = NULL, col = par("col"),

border = "black", lty, lwd, pch,

angle = 45, density = NULL, bty = "o", bg = par("bg"),

box.lwd = par("lwd"), box.lty = par("lty"), box.col = par("fg"),

pt.bg = NA, cex = 1, pt.cex = cex, pt.lwd = lwd,

xjust = 0, yjust = 1, x.intersp = 1, y.intersp = 1,

adj = c(0, 0.5), text.width = NULL, text.col = par("col"),

text.font = NULL, merge = do.lines && has.pch, trace = FALSE,

plot = TRUE, ncol = 1, horiz = FALSE, title = NULL,

inset = 0, xpd, title.col = text.col, title.adj = 0.5,

seg.len = 2)

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.len

lty 与lwd的线长,长度单位为字符宽度

分享:
代码:

先画出每个样本的forehead位置的sweat gland 数量

1
plot(forehead~sample,pch=15,col="DarkTurquoise",ylim=c(0,400),ylab="Number of active sweat glands per cm2",main="Number of active sweat glands per cm2 in forehead, forearm and back")#pch表示散点用什么形状表示,col表示颜色,ylim表示Y轴范围,ylab表示Y轴标题,main表示图片标题

接着画出每个样本forearm位置的sweat gland 数量

注意,这里不用plot函数画forearm和sample之间的关系,因为会把上面forehead和sample的图覆盖住,为了实现多个因变量和一个自变量在同一个图片里,我们要用points或者lines函数画其他因变量和自变量的值

1
points(sample,forearm,pch=16,col="DeepPink",cex=1)#cex表示散点的大小

画出back位置的sweat gland 数量

1
points(sample,back,pch=17,col="RosyBrown",cex=1)

把14个样本在forehead,forearm和back不同位置的sweat gland 数量用线连起来

1
2
3
lines(forehead,col="DarkTurquoise",lty=1)#lty=1表示用实线连起来
lines(forearm,col="DeepPink",lty=2)#lty=2表示用虚线连起来
lines(back,col="RosyBrown",lty=3)#lty=3表示用点线连起来

legend函数,图例说明:

1
legend(12,400,c("forehead","forearm","back"),col=c("DarkTurquoise","DeepPink","RosyBrown"),text.col=c("DarkTurquoise","DeepPink","RosyBrown"),pch=c(15,16,17),lty=c(1,2,3))#12表示x轴坐标为12,400表示y轴坐标为400,意思为图例的左边和上边界限,text.col表示图例文本颜色

最后,画出来的图片效果如下:

plot与legend画图与图例