R语言_legend()函数用法

Python06

R语言_legend()函数用法,第1张

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:logicalif TRUE显示图例信息. plot:logical. If FALSE不画出图例 ncol:图例中分类的列数 horiz:logicalif TRUE,水平放置图例 title:给图例加标题 inset:当图例用关键词设置位置后,inset = 分数,可以设置其相对位置 xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用。 title.col:标题颜色 title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右。 seg.len:lty 与lwd的线长,长度单位为字符宽度 参考资料: R语言中Legend 函数的参数详解

q1, 首先要确定是barplot还是hist,如果是barplot的话,应该不存在breaks的问题,因为barplot的传入参数是个矩阵;

我假设你要画的是个hist,我偶遇过这个问题,我的理解是hist的breaks的值要能被范围整除才行;比如x=1:200,break=7的话,就只能画出4个柱来,但如果breaks=10就没问题;基本上是这样的,偶尔也有例外;比如break=5就不行....奇怪得很

最后,没办法的办法,就只能用barplot代替hist了,barplot肯定不会有这个问题,统计下hist参数中的分布情况,转换成矩阵,用barplot吧;

q2, 貌似一般都用一组因素把这些类别区分开,我用abcde,表示你的小学,中学...了,比如这样:

a=1:7b=8:10c=c(9,10,11)d=c(40,55)e=100:110

f=factor(c(rep(1,sum(length(a),length(b),length(c))),rep(2,sum(length(d),length(e)))))#先用c()生成数组,在转换成factor,其实数组也ok的,不过plot()中两个数组和factor不一样 

x=c(a,b,c,d,e)

plot(x~f)

q3, 就我所知不行;yes或no一定也要是能映射到x,y范围内的点才行;你是想表示分类结果吗?如果是的话,通常用颜色,或者在点旁边的text表示。

q4, 举个例子吧

x=-50:50

y=x^2+x+1

z=10*abs(x)+1

 

plot(x,y,type='l')

lines(x,z,lty=3)

legend(c('type1','type2'), x=-20,y=2500, col=c('black','red'), lty=c(1,3))

legend的x和y是legend的左上角,匿名参数是类型名称,col,lty,pch 是对应的颜色,线类型,和点类型。

最后,我现在多用ggplot2,如果不抵触的话可以看看,和R的基础作图包思路不是很一样,但是图很清新的;

如果还有问题,建议把数据集data.frame粘贴几行上来,我也试试;