Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中的拟合优度图中添加图例?_R_Plot_Legend - Fatal编程技术网

如何在R中的拟合优度图中添加图例?

如何在R中的拟合优度图中添加图例?,r,plot,legend,R,Plot,Legend,我正在使用vcd包中的goodfit生成拟合优度图 我想添加一个图例,说明条形图是实际计数,点(通过线连接)是使用泊松和ML的拟合 图例不起作用。我怎样才能轻松地将图例添加到此绘图中 谢谢 如果没有一个具体的例子,就很难判断(虽然这不是goodfit的限制),但我会用图例检查一些事情: 您可以为参数x放置一个带有“topright”、“bottomleft”等的图例 您可以使用par(“usr”)查询x轴和y轴限制。如果绘图为对数比例,并且希望将图例放置在最大值y处,则必须使用10^par(“u

我正在使用
vcd
包中的
goodfit
生成拟合优度图

我想添加一个图例,说明条形图是实际计数,点(通过线连接)是使用泊松和ML的拟合

图例
不起作用。我怎样才能轻松地将图例添加到此绘图中


谢谢

如果没有一个具体的例子,就很难判断(虽然这不是
goodfit
的限制),但我会用
图例检查一些事情:

  • 您可以为参数
    x
    放置一个带有
    “topright”
    “bottomleft”
    等的图例
  • 您可以使用
    par(“usr”)
    查询x轴和y轴限制。如果绘图为对数比例,并且希望将图例放置在最大值y处,则必须使用
    10^par(“usr”)[4]
    ,依此类推
  • 传递参数
    xpd=NA
    以查看是否将图例放置在绘图区域之外,并查看是否需要设置
    xjust
    yjust

    goodfit
    对象的绘图功能使用的是
    grid
    图形系统(请参见
    ?rootogram
    getAnywhere(rootogram.default)

    您有两个选择:

  • 使用相当有限的
    grid.legend
    功能(来自软件包
    grid
  • 使用
    gridBase
    包在网格图中嵌入基础图形图例
  • 以下是第一个选项的简单示例:

    library("vcd")
    dummy <- rnbinom(200, size=1.5, prob=0.8)
    gf <- goodfit(dummy, type="nbinomial", method="MinChisq")
    plot(gf)
    pushViewport(viewport(x=unit(0.8, "npc"),
                          y=unit(0.8, "npc"),
                          width=stringWidth("Legend x"),
                          height=unit(6, "line"),
                          name="vp1"))
    grid.legend(labels=c("Legend 1", "Legend 2"), pch=1:2)
    popViewport()
    
    library(“vcd”)
    
    dummy修改@rcs的答案,以使用
    grid\u legend
    (在
    vcd
    软件包中以及
    goodfit
    ),这是针对用户的(
    grid.legend
    是一个未记录的内部函数),并显示专门针对此绘图的图例。在基本图形中使用
    fill=c(NA,“灰色”)
    legend
    一样好,但在
    grid\u legend
    中没有实现

    library("vcd")
    dummy <- rnbinom(200, size=1.5, prob=0.8)
    gf <- goodfit(dummy, type="nbinomial", method="MinChisq")
    plot(gf)
    grid_legend(x=unit(0.8, "npc"),
                y=unit(0.8, "npc"),
                labels=c("est NBinom (MinChiSq)","obs"),
                title="",
                pch=c(16,15),col=c("red","gray"))
    
    library(“vcd”)
    
    虚拟谢谢。但是如何设置图例中的符号/颜色以匹配实际图形中的符号/颜色?实际上不起作用,因为
    goodfit
    使用网格图形,如@rcs的回答所述。。。