在作图的时候,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) #添加线

#画出的图形如下:

#这幅图是没有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')

#下面解析legend

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

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

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

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

注:对于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有用。

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

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

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

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

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

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")  #边框消失了

当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)

7:调整大小cex

默认值是1,cex=0.1表明是1的0.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

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")  #可以看到出现在了8,8的坐标位置,如下图

#也可以用方向

> legend("topright","test")

> legend("right","test")

> legend("downleft","test")

> legend("topleft","test")

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")

#一些参考

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的legend参数设置相关推荐

  1. ggplot2 |legend参数设置,图形精雕细琢

    本文首发于微信公众号"生信补给站",https://mp.weixin.qq.com/s/A5nqo6qnlt_5kF3_GIrjIA 学习了ggplot2|详解八大基本绘图要素后 ...

  2. 用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版

    我们用自定义函数setDocFmt()来实现对公文的排版. 一.获取公文参数值 要对公文进行排版,首先要读取公文"参数设置"区中的参数值.比如公文要求对公文标题的一般规定是:一般用 ...

  3. R语言ggplot2可视化分面图(facet_grid)、自定义缩小分面图标签栏的高度、但是不改变标签栏标签文本的大小、通过element_text函数的margin参数设置实现

    R语言ggplot2可视化分面图(facet_grid).自定义缩小分面图标签栏的高度.但是不改变标签栏标签文本的大小.通过element_text函数的margin参数设置实现 目录

  4. R语言plotly可视化:plotly可视化多个直方图、通过bingroup参数设置多个直方图使用相同的bins设置(Share bins between histograms)

    R语言plotly可视化:plotly可视化多个直方图.通过bingroup参数设置多个直方图使用相同的bins设置(Share bins between histograms) 目录

  5. R语言plotly可视化:可视化直方图、归一化的直方图、水平直方图、互相重叠的直方图、堆叠的直方图、累积直方图、通过bingroup参数设置多个直方图使用相同的bins设置、自定义直方图条形的间距

    R语言plotly可视化:可视化直方图.归一化的直方图.水平直方图.互相重叠的直方图.堆叠的直方图.累积直方图.通过bingroup参数设置多个直方图使用相同的bins设置.自定义直方图条形的间距 目 ...

  6. R语言ggplot2可视化通过se参数和level参数设置置信区间的显示与否以及置信区间的范围(95%、90%、50%)

    R语言ggplot2可视化通过se参数和level参数设置置信区间的显示与否以及置信区间的范围(95%.90%.50%) #默认置信区间(lm函数默认的置信区间) library(ggplot2) g ...

  7. R语言使用glm函数构建拟泊松回归模型(quasi-Poisson regression)、family参数设置为quasipoisson、summary函数获取拟泊松回归模型汇总统计信息

    R语言使用glm函数构建拟泊松回归模型(quasi-Poisson regression).family参数设置为quasipoisson.summary函数获取拟泊松回归模型汇总统计信息 目录

  8. R语言epiDisplay包的kap函数计算配对列联表的计算一致性的比例以及Kappa统计量的值(总一致性、期望一致性)、使用xtabs函数生成二维列联表、使用wttable参数设置权重表参数为w2

    R语言使用epiDisplay包的kap函数计算配对列联表的计算一致性的比例以及Kappa统计量的值(总一致性.期望一致性).使用xtabs函数生成二维列联表.使用wttable参数设置权重表参数为w ...

  9. R语言ggplot2可视化:使用ggpubr包的ggdotplot函数可视化分组点阵图(dot plot)、设置palette参数设置不同分组点阵图数据点的颜色

    R语言ggplot2可视化:使用ggpubr包的ggdotplot函数可视化分组点阵图(dot plot).设置palette参数设置不同分组点阵图数据点的颜色 目录

最新文章

  1. Vivado 随笔(5) 行为仿真(Behavior Simulation)相关事宜?
  2. Golang for循环使用多个变量
  3. HDU1257 最少拦截系统 贪心或动态规划
  4. boost::type_erasure::deduced相关的测试程序
  5. matlab 不同长度的向量放入一个矩阵,Matlab:将不同长度的行叠加到矩阵上
  6. golang获取结构体中的tag_26. Go 语言中结构体的 Tag 用法
  7. python 版本分布式锁
  8. OEL修改字符集失败 -bash: /root: is a directory
  9. java度分秒转换度
  10. edem颗粒替换_EDEM离散元软件中颗粒替换与填充编程模版
  11. Excel 如何让单元格内容不完全显示
  12. 我的四年大学生活总结
  13. mysql 错误代码1130_mysql出现错误码1130怎么办
  14. 从源代码开始构建Ogre图文教程(Ogre 1.8 Source + VS2010)
  15. linux sed -i 命令
  16. buctoj-2022寒假集训4
  17. Dubbo NoSuchMethodException: Not found method “xxx“ in class xxx问题解决
  18. R型单相隔离变压器如何选择?
  19. GmNAC181促进结瘤并提高根瘤的耐盐性
  20. Java链表的书_JAVA实现双向链表的增删功能,完整代码package linked;class LinkedTable{ }public class Linke...

热门文章

  1. AE/PR/OFX插件-Mocha Pro 2023 v10.0.2 Win 专业平面/三维跟踪摄像机反求插件
  2. 展望2023,软件测试的走势分析详情
  3. 89C51单片机中的中断系统
  4. win11策略服务未运行怎么解决?策略服务未运行的解决方法
  5. 敏捷零售:走入消费互联网时代
  6. [转载]OGRE 3D 1.7 Beginner‘s Guide中文版 第一章
  7. 如何解决电脑开始菜单任务栏和操作中心灰色无法勾选
  8. 读书笔记——程序员成长的烦恼(吴亮等)
  9. java applet 画圆_java applet例子---画曲线
  10. 1.Linux常见指令及权限详解