在R中放置网格表

时间:2012-02-29 18:02:23

标签: r datagrid plot weibull

我想在R中的现有绘图中使用grid.table()。但是我无法在图表的右侧找到此表。所以事情是:

首先,我制作了数据的直方图:

hist(as.numeric(unlist((vels[counts]))),freq=F,
  col="gray",border="black",ylim=c(0,0.15),
  xlab=paste(names(vels)[counts]),
  main=paste("Weibull fitting",names(vels[counts])))

之后,我实现了一个函数,在现有图表中绘制Weibull曲线,给出参数A和K:

plot_weibull(K_value,A_value)

最后我想使用grid.table()放置一个data.frame,因为它以非常漂亮的形式显示单元格,并且您可以在单元格中使用斜体和粗体文本。

grid.table(round(values,3),cex=0.75,show.rownames=T,
  show.colnames=T,show.hlines=T)

问题是该表出现在直方图和曲线前面的设备中心,我希望它在右侧。

毕竟,我想知道一个点击图表的工具,我会收到Weibull曲线下的区域。

1 个答案:

答案 0 :(得分:4)

hist函数是基本图形,grid.table函数是网格图形。 2个图形系统不能在没有额外工作的情况下很好地协同工作(正如您所注意到的那样)。

最简单的解决方法是使用addtable2plot包中的plotrix函数,而不是grid.table。它可能看起来不一样但很简单。

另一种选择是使用网格图形函数来创建直方图,例如来自latticeggplot2包的内容(两者都可以做直方图),然后使用网格图形函数创建特定的视口并使用grid.table将表格放入该视口。

最后,如果您真的想要混合它们,请参阅gridBase包以了解混合网格和基本图形的方法。