R: plot 绘图各种参数,以及 legend。。

###################################################

问题:基础绘图plot   18.4.30

         plot函数,基础绘图的各个参数?

解决方案:

       cars <- c(1, 3, 6, 4, 9); 

  trucks <- c(2, 5, 4, 5, 12); 

  suvs <- c(4,4,6,6,16)

         g_range <- range(0, cars)  #range()产生一个范围,本例即0-16

plot(cars,

     main = "",

     sub = "", #font.sub="", cex.sub=2, col.sub="",

             # font: 设置文字的格式,1是默认值,就是普通的文字,2代表加粗,3代表斜体, 4代表加粗+斜体,

     xlab = "",

     ylab = "",

       # plot(cars, type="o", col="blue", ylim=g_range, ann=FALSE, axes=FALSE)

       # ann=F不绘制标题, 后面才有title(main="", col.main="red", font.main=2, cex.main=2, adj="")

              #后面才有title(xlab="", ylab="", col.lab=rgb(0,0.5,1), font.lab=1, cex.lab=1.5, adj="")     

       # axes=F表示不绘制坐标轴,后面才能添加axis设置坐标轴;注意只会影响到是否画出坐标轴线和刻度,不会影响坐标轴标题

              #axis(1, at=1:5, lab=c("Mon","Tue","Wed","Thu","Fri"))#1,2,3,4表示坐标轴的下 左 上 右侧。

              #axis(2, las=1, at=4*0:g_range[2], col.axis="", font.axis=2, cex.axis="")

                  # at=4*0:g_range[2]表示刻度范围为(0:g_range[2]),每4个单位显示一个刻度

                  # las=表示文字的方向,是平行于y轴还是垂直于它

     xlim = c(1,5),

     ylim = c(min(cars),max(cars)),

     type = "o",

        #type设置画图的类型,有九种可能的取值,分别代表不同的样式:

        # (1)'p'画点;(2)'l'画线5;(3)'b'同时画点和线,但点线不相交;(4)'c'将type= 'b'中的点去掉,只剩下相应的线条部分;

        # (5)'o'同时画点和线,且相互重叠,;(6)'h'画铅垂线;(7)'s'画阶梯线,从一点到下一点时,先画水平线,再画垂直线;

        # (8)'S'也是画阶梯线,先画垂直线,再画水平线;(9)'n'作一幅空图,没有任何内容,但坐标轴、标题等其它元素都照样显示。

     pch = 2,

     cex = 1.2, #字体的放大倍数

     col = "blue"

       #asp= 图形纵横比 y=x;

       # log 坐标是否取对数,TRUE或者FALSE;

     )

讨论扩展:

         title(main="Autos",font.main=4,cex.main=2,col.main="red",)

                   # font.main用于控制字体,分别为1: 正常,2: 斜体,3: 粗体,4: 粗斜体;  此三项可同作用于main、sub、xlab、ylab

                   # cex.main 设置字的大小,是原大小的多少倍。

                   # col.main  设置main的颜色

         legend(1, g_range[2], c("cars","trucks"), cex=0.8, col=c("blue","red"), pch=21:22, lty=1:2, bg="grey", title="more", title.col="red") 

                   # 添加内部图例,legend(,1,g_range[2])表示图例左上角的坐标;c("cars","trucks")标签内容,cex=0.8字体的放大倍数,  

         text(x = c(3, 4), y = c(3, 5), labels = c("text", "text"), col = c("red", "blue"),cex = c( 0.8 , 1 )) # 在两个位置添加(3,3)和(4,5)

         text(x = 4, y = 2, labels =expression(hat(beta) == (X^t * X)^{-1} * X^t * y), srt = 45, adj = c(0.5, 0.5),  cex = .8)

                   # 想打印数学表达式或者一些特殊符号,使用expression 函数.参考 plotmath 函数的帮助文档

                   # srt文字与x轴正向的夹角。adj取值0-1,是对labels内容整体位置的微调,在中心位置的哪个方向。

                   # pos+offset: 也是对文字的位置进行调整,可选值为1,2,3, 4分别对应下,上,左,右,不能和adj参数同时使用,

         mtext("text", side=4, line=0.4, las=1,  col="red", cex=1.2, at=1:3, adj="") #为四个坐标轴添加标签文字。

                   #在边空添加text指定的文字,side:1=bottom, 2=left, 3=top, 4=right;line:添加的文字距离绘图区域的距离,las 文字方向,..

                  

         lines(trucks, type="o", pch=22, col="red", lty=2, lwd=2) #添加折线,pch控制点的符号,lty=2表示虚线,

                   #lty控制连线的线型,可以是整数(1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线),

         abline(a=2, b=1, type="l", pch=2, col="red", lty=2, lwd=2) #绘制斜率为1和截距为2的直线

                   # abline(h = 3.5,v = 3) 画y=3.5直线和x=3直线。

         box(bty="L")  # 添加外部边框

                   # bty控制图形边框形状,可用的值为: "o", "l", "7", "c", "u" 和"]" (边框和字符 的外表相像);

         arrows(1, 2, 2, 4, code=2, angle= 30, lengths=0.1, lty=1, lwd=2, col="red") #添加箭头,

                   # 如果code=1,2,3在一端还是两端画箭头; angle控制箭头轴到箭头边的角度,lengths箭头的大小

         rect(1,5,2,7,col="red") 

                   # 在坐标为(1,5)到(2,7)为对角线画长方形。

另请参阅:

         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    字符或表达式向量

         col    图例中出现的点或线的颜色

         lty, lwd    图例中线的类型与宽度

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

         cex    字符大小

         x.intersp    图例中文字离图片的水平距离

         y.intersp    图例中文字离图片的垂直距离

         title     给图例加标题

         title.col    标题颜色

         title.adj    图例标题的相对位置,0.5为默认,在中间。0最左,1为最右。

         text.width    图例字体所占的宽度

         text.col    图例字体的颜色

         text.font    图例字体

         horiz     默认堆叠放置图例c()中的项目,if TRUE,则左右放置

         xjust          legend相对于x轴的对其方式 0:左对齐,0.5:居中对齐,1:右对齐。how the legend is to be justified relative to the legend x location.

         yjust         

         bg    bty != "n"时,整个图例的背景色

         bty    图例框是否画出,o为画出,默认为n不画出

         box.lty, box.lwd, box.col    bty = "o"时,图例框的类型,box.lty决定是否为虚线,box.lwd决定粗线,box.col决定颜色

         fill    用特定的颜色填充图例里面 legend 前面的颜色

         border    当fill = 参数存在的情况下,填充色的边框

         xpd    xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用。

         trace    logical; if TRUE显示图例信息.

         plot    logical. If FALSE不画出图例

         adj    图例中字体的相对位置

         pch    点的类型

         angle    阴影的角度

         density    阴影线的密度

         pt.bg    点的背景色

         pt.cex    点的大小

         pt.lwd    点的边缘的线宽

         merge    logical, if TRUE,合并点与线,但不填充图例框,默认为TRUE

         ncol    图例中分类的列数

         inset    当图例用关键词设置位置后,inset = 分数,可以设置其相对位置

        

         

猜你喜欢

转载自www.cnblogs.com/li-20151130/p/9038524.html