R的legend参数设置

5403人阅读 评论(0) 收藏 举报
分类:

在作图的时候,legend很重要,在R中设置很繁琐,不像MATLAB有图形界面的,可以手动的设置。下面以?legend中例子学习一下legend参数。

 

#首先导入数据

>x <- seq(-pi, pi, len = 65)

> x

 [1] -3.14159265 -3.04341788 -2.94524311 -2.84706834 -2.74889357 -2.65071880

 [7] -2.55254403 -2.45436926 -2.35619449 -2.25801972 -2.15984495 -2.06167018

[13] -1.96349541 -1.86532064 -1.76714587 -1.66897110 -1.57079633 -1.47262156

[19] -1.37444679 -1.27627202 -1.17809725 -1.07992247 -0.98174770 -0.88357293

[25] -0.78539816 -0.68722339 -0.58904862 -0.49087385 -0.39269908 -0.29452431

[31] -0.19634954 -0.09817477  0.00000000  0.09817477  0.19634954  0.29452431

[37]  0.39269908  0.49087385  0.58904862  0.68722339  0.78539816  0.88357293

[43]  0.98174770  1.07992247  1.17809725  1.27627202  1.37444679  1.47262156

[49]  1.57079633  1.66897110  1.76714587  1.86532064  1.96349541  2.06167018

[55]  2.15984495  2.25801972  2.35619449  2.45436926  2.55254403  2.65071880

[61]  2.74889357  2.84706834  2.94524311  3.04341788  3.14159265

 

>plot(x, sin(x), type = "l", ylim = c(-1.2, 1.8), col = 3, lty = 2)

#lty指定线型状

>points(x, cos(x), pch = 3, col = 4) #plot sin  #添加点,pch控制点的符号类型

>lines(x, tan(x), type = "b", lty = 1, pch = 4, col = 6) #添加线

#画出的图形如下:

 

Description: 1111.jpeg

 

#这幅图是没有legend的,下面设置:

#先看 有哪些参数:

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)

 

 

 

#设置

> legend(-1, 1.9, c("sin", "cos", "tan"), col = c(3,4,6),

+        text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),

+        merge = TRUE, bg = 'gray90')  

 

Description: 2222.jpeg

 

#下面解析legend

1.位置:x,y控制。即这里为-11.9.分别代表左边和上边的界限。可以改动试试

 

2.文字和lty即这里的sin,cos,tan. 接受一个向量。注意要和下面的参数lty(控制线型)对应。比如sin图中lty设置的是2cos?(没有理解为何是-1),tan1.legend中的c(“sin”,”cos”,”tan”)对应于lty中的lty=c(2,-1,1).  #是不是这里的cos是点,设置lty是没有用的

 

3.Textcol:指的是sin,cos,tan的字体颜色。若text.col=”red”,会发现他们变成红色了。

 

4.Pch: 控制线型,即sincos,tan的图标上对应的线.pchlty是有所不同的。Lty是控制连线线型的,即是实线,虚线,点划线等(当type=”l”时使用),而pch是控制符号的类型的,我的理解就是点的型状(当type=”p”使用)。假设所化的线是实线,在plot里设置pch是没有用的,因为没有点。一句话就是type=”l”等与线有关的时候设置lty;type=”p”,等与点有关的的时候,设置pch就有用了;当type=”o”等既有点又有线的时候,设置ltypch都是有用的。

 

注:对于pch,lty,type。对于plot等是一样的道理

> m=seq(1,10)

> n=m

> par(mfrow=c(1,2))

> plot(m,n,type="p",pch=2)

> plot(m,n,type="p",pch=3)  #type=”p”,设置pch有用。

 

Description: 5555.jpeg

 

> par(mfrow=c(1,2))

> plot(m,n,type="l",pch=2)  #如图,无点,设置pch没有用

> plot(m,n,type="p",lty=2)   #type是点,设置lty=2没用

Description: 6666.jpeg

 

> plot(m,n,type="o",lty=3,pch=4)

> plot(m,n,type="o",lty=2,pch=2)  #type=”o”,有点有线,所以lty,pch都有用。

Description: 7777.jpeg

 

 

5.col,控制图标中的线的颜色

 

6设置图标的边框等

 

bty=”o”默认的,=”n”表示没有边框,

> legend(-1, 1.9, c("sin", "cos", "tan"), col = c(3,4,6),text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),merge = TRUE, bg = 'gray90',bty="n")  #边框消失了

Description: 8888.jpeg

 

byt=”o”时,box.lty=1,2,3..可以设置边框的型状,bg设置边框内部的填充颜色。当bty=”n”时候设置box.lty,bg是,没有用的。

legend(-1, 1.9, c("sin", "cos", "tan"), col = c(3,4,6),text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),merge = TRUE, bg = 'red',bty="o",box.lty=2)

 

Description: 9999.jpeg

7:调整大小cex

默认值是1cex=0.1表明是10.1倍,cex=1.2表明是默认的一点2

> x <- seq(-pi, pi, len = 65)

> plot(x, sin(x), type = "l", ylim = c(-1.2, 1.8), col = 3, lty = 2)

> points(x, cos(x), pch = 3, col = 4)

> lines(x, tan(x), type = "b", lty = 1, pch = 4, col = 6)

> legend(-1, 1.9, c("sin", "cos", "tan"), col = c(3,4,6),text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),merge = TRUE, bg = 'red',bty="o",box.lty=2)

> legend(-1, 1.0, c("sin", "cos", "tan"), col = c(3,4,6),text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),merge = TRUE, bg = 'red',bty="o",box.lty=2,cex=1.2)

> legend(-1, 0.0, c("sin", "cos", "tan"), col = c(3,4,6),text.col = "green4", lty = c(2, -1, 1), pch = c(-1, 3, 4),merge = TRUE, bg = 'red',bty="o",box.lty=2,cex=0.5)

#观察其中的cex

Description: 99999.jpg

8.设置相对的图标位置,也可以是”topright”

试想,x,y都是在变的,设置legend的定位坐标时,未免麻烦。可以这样做max(x)-2

,max(y)-2

> x=seq(1,10)

> y=x

> plot(x,y)

> legend(max(x)-2,max(y)-2,"test")  #可以看到出现在了88的坐标位置,如下图

#也可以用方向

> legend("topright","test")

> legend("right","test")

> legend("downleft","test")

> legend("topleft","test")

Description: 999999.jpeg

 

9.柱状图等怎么标注:bty=”n”, pch=15 (代表正方形,填上相应的颜色就好了)

> plot(x,y)

> legend(5,9,"test",bty="n",pch=15)

> legend(5,8,"test",bty="n",pch=15,col="red")

Description: 9999999.jpeg

 

 

 

 

#一些参考

http://stackoverflow.com/questions/8929663/r-legend-placement-in-a-plot

http://stackoverflow.com/questions/9366229/how-to-combine-a-plot-and-legend


转载自:http://blog.sina.com.cn/s/blog_6babbcb801019nqa.html#
查看评论

R语言绘图基础

-
  • 1970年01月01日 08:00

R软件学习笔记—Legend

当图表中承载了多组数据用于比较时,通常会使用不同的颜色来区分,并且使用图例说明不同颜色代表的数据,如图3-17所示。   图例中既包括文字,也包括点和线元素。R语言中的图例可以使用legend...
  • myl1992
  • myl1992
  • 2015-05-18 20:40:18
  • 10244

R语言绘图004-legend()参数详解

原文链接:http://blog.sina.com.cn/s/blog_5de124240101pzqb.html legend(x, y = NULL, legend, fill ...
  • xspyzm
  • xspyzm
  • 2017-04-21 16:05:06
  • 1830

一幅图解决R语言绘制图例的各种问题

一幅图解决R语言绘制图例的各种问题 2016-11-01 用R画图的小伙伴们有木有这样的感受,“命令写的很完整,运行没有报错,可图例藏哪去了?”“图画的很美,怎么总是图例不协调?”“啊~~...
  • xiangyong58
  • xiangyong58
  • 2017-01-17 00:54:04
  • 9980

ggplot2--Legend(图例操作)

Base Plot xy p=ggplot(data=xy)+geom_point(aes(x=x,y=y,color=type)) p legend.backgroun...
  • superbfly
  • superbfly
  • 2015-05-25 17:13:14
  • 6188

Matlab中plot函数及legend函数详解

Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineS...
  • LK274857347
  • LK274857347
  • 2017-01-19 19:24:28
  • 16818

R语言中Legend 函数的参数详解

legend(x, y = NULL, legend, fill = NULL, col = par(&quot;col&quot;),         border = &quot;black&qu...
  • glodon_mr_chen
  • glodon_mr_chen
  • 2018-03-09 13:43:52
  • 106

ggplot2--legend图例的修改

> head(msleep)                         name      genus  vore        order conservation sleep_to...
  • superbfly
  • superbfly
  • 2015-05-25 11:17:34
  • 6033

R软件图形参数的设置

在R中,设置图形参数是使用par()函数,其中有必须在par里设置的 1.坐标系 参数 cex cex=cex_type,   #绘图符号大小,1是正常大小 cex.axis=1.1,  #坐...
  • littlely_ll
  • littlely_ll
  • 2017-02-04 21:26:50
  • 732

R语言绘制热图——pheatmap

pheatmap: Pretty Heatmaps——Implementation of heatmaps that offers more control over dimensions and a...
  • sinat_38163598
  • sinat_38163598
  • 2017-05-26 15:24:35
  • 17662
    个人资料
    持之以恒
    等级:
    访问量: 28万+
    积分: 3333
    排名: 1万+
    最新评论