2013-08-01 19 views
1

我有一個數據框,我想創建一個表並將其保存爲一個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文件,包括在我的表中的所有數據。如果我的桌子很大,它會被切斷。我如何確保所有數據都顯示在此表上?

+0

你有沒有讀過[這個答案](http://stackoverflow.com/a/10098910/1305688)?此外,如果您的代碼可重現,則更容易處理您的問題。 –

回答

2

你的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() 

enter image description here

這並不完全準確,因爲某些原因,但它應該幫助。

+0

這太好了。還有一個問題,我將如何避免不打印單元格號碼? – user1471980

+0

這對我來說不起作用,也許自答案以來就有了變化。 我修改了答案是: h < - sum(convertHeight(tb $ heights,「in」,valueOnly = TRUE)); w < - sum(convertWidth(tb $ width,「in」,valueOnly = TRUE)) – Sonia

相關問題