【问题标题】:How to add axis arrow tip for R plots如何为 R 图添加轴箭头提示
【发布时间】:2022-01-02 03:13:36
【问题描述】:

我试图在 R 中绘制一个图,它的 x 轴和 y 轴的提示中有一个箭头。我用谷歌搜索并没有发现任何有用的东西。我在this page 中找到了如何在 Python 中执行此操作。 我想要这样的图片:

我的尝试: 我删除了图框并分别添加了轴。

x=seq(0,5,by=.1)
y=x*x
plot(x, y, axes = FALSE, frame.plot = FALSE, type="l")
box(bty="l")
axis(1)
axis(2)

【问题讨论】:

    标签: r plot


    【解决方案1】:

    来自包shape 的函数Arrowhead 绘制以用户提供的点为中心的箭头形多边形。要在绘图区域的左上角和右下角绘制指向轴方向的箭头,您可以:

    usr <- par("usr")
    shape::Arrowhead(
      x0 = usr[1:2], 
      y0 = usr[4:3], 
      angle = c(90, 0), 
      xpd = TRUE
    )
    

    其中par("usr") 是一个向量c(left, right, bottom, top),指定用户坐标中绘图区域的边界。 xpd = TRUE 确保箭头不会被剪裁到绘图区域。

    如果您想避免安装软件包,请注意 base R 有arrows,但它不会绘制实心箭头并且如果您要求零长度箭头(即,一个有头但没有轴的箭头)。解决后一个问题的一种方法是绘制与轴共线的箭头:

    usr <- par("usr")
    arrows(
      x0 = usr[1L],
      x1 = usr[1:2], 
      y0 = usr[3L], 
      y1 = usr[4:3],
      length = 0.1,
      angle = 20,
      xpd = TRUE
    )
    

    如您所料,这两个函数都有可选参数,可用于调整箭头(头部)的外观。

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      相关资源
      最近更新 更多