【问题标题】:R legend in base plot: how to fix size and overlap?基本图中的 R 图例:如何固定大小和重叠?
【发布时间】:2017-07-29 08:17:57
【问题描述】:

这听起来像是重复的,但我的问题不仅仅是legend() 中的一些大小和位置调整。

事实上,我并没有告诉 R 做一个传奇,所以我不知道在哪里调整。在这一点上,仅仅能够删除图例将是一个好的开始......

我正在使用包 FME 进行建模,目前正在复制 this example 但用我自己的替换参数和名称。我目前在使用局部敏感度图时遇到问题,它们看起来像这样:

但我从未指定图例。这是我的代码:

# model with differential equations - no instructions on plotting whatsoever
spi.phy.tom <- function(pars, state, times){}

# pars used in model (not really relevant)
test.pars  <- c(rIng = 0.5, rGrow = 0.26, rMort = 0.002,  
                assEff = 0.05, hSat = 0.5, K = 1000)

# sensFun calc sensitivity of variables to parameters
SnsSpint <- sensFun(func = spi.phy.tom, parms = test.pars, sensvar = "spint", varscale = 1)
SnsPhyto <- sensFun(func = spi.phy.tom, parms = test.pars, sensvar = "phytoseiulus", varscale = 1)

# output of sensFun are data frames
head(SnsSpint)
x   var rIng     rGrow rMort assEff hSat         K
1 0 spint    0   0.00000     0      0    0  0.000000
2 1 spint    0  28.62302     0      0    0  3.631926
3 2 spint    0  68.98759     0      0    0 10.053424
4 3 spint    0 122.48621     0      0    0 20.614181
5 4 spint    0 189.24599     0      0    0 36.986043
6 5 spint    0 267.46231     0      0    0 61.017033

# plot sensFun output
plot(SnsSpint, main = "Spint")
plot(SnsPhyto, main = "Phytoseiulus")

如你所见,我没有谈论传说,但我仍然了解它们。我一直了解到您需要专门添加legend()(带有所需的参数)才能获得一个。所以我不知道如何删除或调整这些。

如果您想查看函数的内部,它与 FME 包中 pdf 的 p.2 上的完全相同(参见上面的链接)。因为太多不相关的代码,这里没有包含它。

【问题讨论】:

  • plot() 是一个通用函数,它根据传递给它的对象的class() 执行不同的操作。看起来 FME 包创建了一个对象类并为其添加了特殊的打印功能。看看class(SnsPhyto)返回什么,看看methods(plot)中是否有对应的函数。看起来他们使用lattice 图形而不是基本图形来绘制他们的绘图,因此绘制图例的方式与传统的基本图形函数不同。该自定义绘图功能可能有一个帮助页面。
  • 谢谢,这对我来说是一些新信息。当然让我更好地理解事物的运作方式。我会查看那些帮助页面!

标签: r plot legend


【解决方案1】:

您可以使用p+theme(legend.title = element_blank()) 删除标题或使用p+theme(legend.position="none") 删除图例,甚至将它们的位置更改为顶部/右侧/左侧等,方法是编写p+theme(legend.position="top/right/left")。 问候;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多