我正在尝试为我的情节添加一个图例,我不明白为什么我无法控制它的大小和/或位置。我知道有很多关于它的帖子,但我已经尝试重现解决方案,无论出于何种原因,它似乎在我的RStudio中不起作用。这是我试过的:
以下是我运行完全相同的代码时我的情节的样子(你可以看到图例位于图的中间):my plot-1
我还尝试运行R中提供的一些示例代码,我也看到了看起来很好的情节。例如,我的情节:
class MySuperDuperException(Exception):
pass
class DeviceContact(models.Model):
[...]
def save(self, *args, **kwargs):
try:
super(DeviceContact,self).save(*args,**kwargs)
catch DeviceContact.IntegrityError as e:
throw MySuperDuperException()
看起来像这样:my plot-2我不知道为什么。我尝试更改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))
和cex
,但它没有任何区别。
我是否需要任何额外的包来控制图例? (我加载了mar
,但它没有任何区别。)
修改: 我在这里复制我的后续问题。
嗨Lyzander,谢谢你的回复。我实际上放大了我的情节,它看起来与链接的数字完全一样。当我将我的情节保存到png文件时,这个数字是我得到的。我重现了你的代码,这是我试图保存它时得到的结果:
这是缩放后的样子:
正如你所看到的那样,看起来不像你得到的东西,我不明白为什么。我有最新版本的R,我更新了所有的软件包。
答案 0 :(得分:6)
只需使用keyword
而不是指定确切的坐标,它就会更好用:
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中的图形时,请确保按下缩放按钮。它更能代表输出的内容。