5

我正在尝试在我的情节中添加一个图例,但我不明白为什么我无法控制它的大小和/或位置。我知道有很多关于它的帖子,但我已经尝试重现这些解决方案,无论出于何种原因,它似乎在我的 RStudio 中不起作用。这是我尝试过的:

  1. 如何在R中的图例框中缩放图例框或放大字体大小

当我运行完全相同的代码时,我的情节是这样的(你可以看到图例在情节的中间):我的情节-1

我还尝试运行 RI 中提供的一些示例代码,这些代码看起来也很奇怪。例如,我的情节:

x <- seq(-pi, pi, len = 65)
plot(x, sin(x), type = "l", col = 2, xlab = expression(phi),
     ylab = expression(f(phi)))
abline(h = -1:1, v = pi/2*(-6:6), col = "gray90")
lines(x, cos(x), col = 3, lty = 2)
ex.cs1 <- expression(plain(sin) * phi,  paste("cos", phi))  # 2 ways
utils::str(legend(-3, .9, ex.cs1, lty = 1:2, plot = FALSE,
           adj = c(0, 0.6)))  # adj y !
legend(-3, 0.9, ex.cs1, lty = 1:2, col = 2:3,  adj = c(0, 0.6))

看起来像这样:我的情节 2,我不知道为什么。我尝试改变cexandmar但它没有任何区别。

我需要任何额外的包来控制图例吗?(我加载了,library(graphics)但没有任何区别。)

编辑:我在这里复制我的后续问题。

嗨 Lyzander,感谢您的回复。实际上,我确实放大了我的情节,它看起来与链接图中的完全一样。这个数字是我将绘图保存到 png 文件时得到的。我复制了您的代码,这是我尝试保存它时得到的结果:

在此处输入图像描述

这是缩放后的样子:

在此处输入图像描述

如您所见,两者看起来都不像您所得到的,我不明白为什么。我有最新版本的 R 并且我更新了我所有的包。

4

1 回答 1

6

只需使用 akeyword而不是指定确切的坐标,它会更好地工作:

x <- seq(-pi, pi, len = 65)
plot(x, sin(x), type = "l", col = 2, xlab = expression(phi),
     ylab = expression(f(phi)))
abline(h = -1:1, v = pi/2*(-6:6), col = "gray90")
lines(x, cos(x), col = 3, lty = 2)
ex.cs1 <- expression(plain(sin) * phi,  paste("cos", phi))  # 2 ways
utils::str(legend(-3, .9, ex.cs1, lty = 1:2, plot = FALSE,
                  adj = c(0, 0.6)))  # adj y !
legend('topleft', ex.cs1, lty = 1:2, col = 2:3,  adj = c(0, 0.6))

在这种情况下,我使用了topleft您可以看到的关键字,它看起来很棒:

在此处输入图像描述

如果您指定cex它确实会使图例更小,如下所示:

x <- seq(-pi, pi, len = 65)
plot(x, sin(x), type = "l", col = 2, xlab = expression(phi),
     ylab = expression(f(phi)))
abline(h = -1:1, v = pi/2*(-6:6), col = "gray90")
lines(x, cos(x), col = 3, lty = 2)
ex.cs1 <- expression(plain(sin) * phi,  paste("cos", phi))  # 2 ways
utils::str(legend(-3, .9, ex.cs1, lty = 1:2, plot = FALSE,
                  adj = c(0, 0.6)))  # adj y !
legend('topleft', ex.cs1, lty = 1:2, col = 2:3,  adj = c(0, 0.6))
legend('topright', ex.cs1, lty = 1:2, col = 2:3,  adj = c(0, 0.6), cex=0.75)

在此处输入图像描述

此外,当您在 Rstudio 中查看图表时,请确保您点击了缩放按钮。它更能代表输出是什么。

于 2015-05-22T20:09:30.767 回答