首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将图例添加到R中的拟合优度图?

如何将图例添加到R中的拟合优度图?
EN

Stack Overflow用户
提问于 2011-08-26 16:46:46
回答 3查看 547关注 0票数 3

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

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

legend不工作。如何轻松地将图例添加到此图中?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2011-08-26 17:47:13

goodfit对象的绘图函数使用grid图形系统(请参见?rootogramgetAnywhere(rootogram.default))。

您有两个选择:

  1. 使用相当有限的grid.legend函数(来自package grid).
  2. embed,一个使用gridBase软件包的网格图中的基本图形图例。

下面是第一个选项的一个简单示例:

代码语言:javascript
复制
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()
票数 3
EN

Stack Overflow用户

发布于 2011-08-28 20:51:27

修改@rcs的答案以使用grid_legend (在vcd包和goodfit中),这是为用户设计的(grid.legend是一个未公开的内部函数),并显示一个专门针对此图的图例。在基础图形中使用legend中的fill=c(NA,"gray")会很好,但它不是在grid_legend中实现的。

代码语言:javascript
复制
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"))
票数 1
EN

Stack Overflow用户

发布于 2011-08-26 17:33:59

如果没有具体的例子,很难说(AFAIK这不是goodfit的限制),但我会用legend检查一些事情

对于参数,您可以使用"topright""bottomleft"等来放置图例x.

  • You可以使用par("usr")查询x和y轴的限制。如果地块为对数比例,并且您希望将图例放置在最大y值处,则必须使用yjust.

,依此类推。

  • 传递参数xpd=NA以查看是否将图例放置在绘图区域之外,并查看是否需要设置xjust或log
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7202163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档