我想在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曲线下的区域。
答案 0 :(得分:4)
hist
函数是基本图形,grid.table
函数是网格图形。 2个图形系统不能在没有额外工作的情况下很好地协同工作(正如您所注意到的那样)。
最简单的解决方法是使用addtable2plot
包中的plotrix
函数,而不是grid.table
。它可能看起来不一样但很简单。
另一种选择是使用网格图形函数来创建直方图,例如来自lattice
或ggplot2
包的内容(两者都可以做直方图),然后使用网格图形函数创建特定的视口并使用grid.table
将表格放入该视口。
最后,如果您真的想要混合它们,请参阅gridBase
包以了解混合网格和基本图形的方法。