1

を使用して、テーブルの本体の周りに比較的太い線 (lwd = 2 サイズなど) を配置しようとしていますgridExtra。これは、このドキュメントページからわずかに変更された MWE です。 gtableボンネットの下で作業を行っていますが、ドキュメントgtableは薄いです。コードを見てもあまり役に立ちませんでした。

g <- tableGrob(iris[1:4, 1:3], rows = NULL)
separators <- replicate(1, 
    segmentsGrob(x1 = unit(0,"npc")), 
    simplify=FALSE)
g <- gtable::gtable_add_grob(g, grobs = separators, 
    t = 1, b = nrow(g), l = 1)
g <- gtable::gtable_add_grob(g, grobs = separators, 
    t = 1, b = nrow(g), r = 3) # error: no default for l
grid.draw(g)

私はこのような効果を得ようとしています(異なるデータ):

サンプル

の 2 回目の呼び出しでエラーが発生するため、3 列目の右側に行を配置するgtable::gtable_add_grobという私の単純な概念は単純です。r = 3テーブルの本体の周りに太い線を引く方法について何か提案はありますか? 左端と右端のアイデアを理解できれば、上端と下端の線を同じように描くことができると思います。

補足:gridExtra最近、 を使用するように改訂されましたgtable。以前、私は以下のようなコマンドで上のようなグラフィックスを作成しました。可能であれば、同じ設定にかなり近づけたいと思います(新しい方法では、行がグレーレベルで交互に表示されます。これはより良い方法です。私は本当に古いshow.box機能を望んでいます)。

myt <- gridExtra::tableGrob(aov1, show.box = TRUE,
                show.rownames = TRUE, show.colnames = TRUE,
                show.csep = TRUE, show.rsep = TRUE,
                separator = "black", gp = grid::gpar(cex = table[3]))
4

1 に答える 1

2

ケージに入れたいすべてのセルにまたがる rectGrob を追加できます。

library(gridExtra)
library(gtable)
library(grid)
g <- tableGrob(iris[1:4, 1:3])
g <- gtable::gtable_add_grob(g, 
                             grobs = rectGrob(gp=gpar(fill=NA, 
                                                      lwd=2)), 
                             t = 2, b = nrow(g), l = 2, r = ncol(g))
grid.newpage()
grid.draw(g)

ここに画像の説明を入力

于 2015-07-19T22:50:25.140 に答える