как отображать все точки данных в таблице, автоматически изменять ширину и высоту таблицы

У меня есть фрейм данных, который я хотел бы создать в виде таблицы и сохранить в виде png-файла.

Я делаю это:

library(gridExtra)
my_table<- tableGrob(y[,1:3],gpar.coretext =gpar(fontsize=8),gpar.coltext=gpar(fontsize=8), gpar.rowtext=gpar(fontsize=8))
png("cpu.png")
grid.arrange(my_table)
dev.off()

Мне нужен этот png-файл, чтобы включить все данные в мою таблицу. если мой стол большой, он обрезается. Как мне убедиться, что все данные отображаются в этой таблице?


person user1471980    schedule 01.08.2013    source источник
comment
Вы читали этот ответ? Кроме того, гораздо проще подойти к вашей проблеме, если ваш код воспроизводим.   -  person Eric Fail    schedule 01.08.2013


Ответы (1)


Ваш файл png в настоящее время имеет высоту по умолчанию; вы можете указать его явно, чтобы убедиться, что вся таблица помещается на странице.

library(gridExtra)
d <- head(iris, 50)
tb <- tableGrob(d)

h <- convertHeight(grobHeight(tb), "in", valueOnly=TRUE)
w <- convertWidth(grobWidth(tb), "in", valueOnly=TRUE)

png("iris.png", width = w, height = h, units = "in", res=300)
grid.draw(tb)
dev.off()

введите здесь описание изображения

По какой-то причине это не совсем точно, но должно помочь.

person baptiste    schedule 01.08.2013
comment
это замечательно. Еще один вопрос, как мне избежать непечатать номера сотовых? - person user1471980; 01.08.2013
comment
Это не сработало для меня, возможно, с момента ответа произошли изменения. Я изменил ответ следующим образом: h ‹- sum(convertHeight(tb$heights, in, valueOnly=TRUE)); w ‹- сумма (convertWidth (tb $ width, in, valueOnly = TRUE)) - person Sonia; 15.01.2016