当前位置:   article > 正文

R语言作图:图例设置_r语言图例

r语言图例

今天总结一下R语言底层作图的图例设置,主要是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)

参数比较多,不过可以大体上分为以下几种功能:

(1)位置坐标参数:

x和y代表图例位置的横纵坐标,除了输入精确的xy坐标,只在x参数中输入"left"、"right"、"top"、"bottom"、"topleft"、" topright"、"bottomleft"、" bottomright"八个单词,可以实现图例在图形左、右、上、下、左上、右上、左下、右下的快速布局。

(2)文本参数:

legend表示每一条图例的文字说明;text.font表示字体,即粗体、斜体;title表示图例整体的标题,text.width是文本的宽度。

(3)颜色参数:

col是点或线的颜色,fill是方块的填充颜色,text.col是图例文字的颜色,title.col是标题的颜色,bg是图例的背景色,pt.bg是点的填充色。

(4)形状参数

lty表示线的类型,pch表示点的类型,angle表示阴影线角度,density表示阴影线密度。

(5)大小参数

cex是整体的大小,pt.cex是点的大小,pt.lwd是点的轮廓线粗细,lwd表示线的粗细,seg.len表示线的长短。

(6)边框参数

bty是边框的类型,只提供2种类型,"o"是有边框,"n"是无边框;x.intersp是边框的宽度, y.intersp是边框的高度。

(7)位置微调参数

xjust和yjust是图例实际位置相对输入的xy坐标点的位置。X和y是图例中心的位置,当xjust = 0.5时,表明图例中心恰好在x点,如果xjust = 0,则表示图例中心位于x点偏左0.5处,如果xjust = 1,则表示图例中心位于x点偏右0.5处;yjust是对垂直位置的微调,用法相同;adj是对文本水平位置的微调,用法相同。

(8)其他

merge如果为True,表示当有点和线同时出现是,点和线在图形上合并展示,即点画在线上。

ncol是图例的列数,可以理解成每行写几个,默认为1。

horiz控制图例横排还是竖排,不是文字横着写还是竖着写,而是当图例有多个时是排成一行还是排成一列。

举几个例子

  1. x <- seq(-2, 2, 0.1)
  2. y1 <- x^2
  3. y2 <- x^3
  4. par(mfrow = c(2, 2), mar = c(4, 4, 1, 1))
  5. ## 图例放在上边,有边框
  6. plot(x, y1, type = 'l', col= 'coral', ann = F)
  7. legend(x = 'top',
  8. legend = expression(y == x^2),
  9. lty = 1,
  10. col = 'coral')
  11. ## 图例放在左边,有边框
  12. plot(x, y1, type = 'l', col= 'coral', ann = F)
  13. legend(x = 'left',
  14. legend = expression(y == x^2),
  15. lty = 1,
  16. col = 'coral')
  17. ## 图例放在左上,无边框
  18. plot(1, 1, xlim = c(-2, 2), ylim = c(-8, 8), type = 'n', ann = F, las = 1)
  19. lines(x, y1, lty = 1, col = 'coral')
  20. lines(x, y2, lty = 1, col = 'skyblue')
  21. legend(x = 'topleft',
  22. legend = c(expression(y == x^2), expression(y == x^3)),
  23. lty = 1,
  24. col = c('coral', 'skyblue'),
  25. bty = 'n')
  26. ## 图例放在右上,无边框
  27. plot(1, 1, xlim = c(-2, 2), ylim = c(-8, 8), type = 'n', ann = F, las = 1)
  28. lines(x, y1, lty = 1, col = 'coral')
  29. lines(x, y2, lty = 1, col = 'skyblue')
  30. legend(x = 'topright',
  31. legend = c(expression(y == x^2), expression(y == x^3)),
  32. lty = 1,
  33. col = c('coral', 'skyblue'),
  34. bty = 'n',
  35. horiz = T)

可以看到有边框时,图例的整个区域覆盖住了底层图形,无边框时没有覆盖底层图形,只是图例的文字印在了底层图形上。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号