添加表(对齐文本块)中的R积(Add table (aligned text blocks) to

2019-08-17 14:17发布

我想添加一个小的表(例如,作为一个图例),以作为R的曲线图。 我觉得是这样的:

t <- wantedTableMethod(
  row("param1", "param2", "param3", "param4")
  , row(value11, value12, value13, cell(value14, adj=0))
  , row(value21, value22, value23, value24)
  , row(value31, value32, value33, cell(value34, adj=1))
  border = F
)
plot(1,1)
legend("topleft", t)

一列的所有值应该具有相同的偏移。 是这样的可能在R,或者我需要手动对齐每个值?

Answer 1:

plotrix封装具有addtable2plot功能,你可以通过一个data.framematrix

使用来自帮助页面的例子

library(plotrix)
testdf<-data.frame(Before=c(10,7,5,9),During=c(8,6,2,5),After=c(5,3,4,3))
 rownames(testdf)<-c("Red","Green","Blue","Lightblue")
 barp(testdf,main="Test addtable2plot",ylab="Value",
  names.arg=colnames(testdf),col=2:5)
 # show most of the options
 addtable2plot(0.7 ,8,testdf,bty="o",display.rownames=TRUE,hlines=TRUE,
  vlines=TRUE,title="The table")

它被设计为的工作方式类似于legend越好。



Answer 2:

如果你真的反对外部包,你可以完成一个版本的这个base R作为得好:

plot(1, 1)
v = 1:9
legend('topright', ncol = 4L, title = 'Table',
       legend = c('', 'Row1', 'Row2', 'Row3',
                  'Col1', v[1:3], 'Col2', v[4:6], 'Col3', v[7:9]))

需要注意的编码器 ,因为v将被强制转换成character ,你必须要小心浮动格式( sprintf是你的朋友)。 还有其他获奖喜欢text.col帮助spiffen起来的情节多一点,如果你愿意的话。



文章来源: Add table (aligned text blocks) to plot in R
标签: r plot legend