使用tableGrob / grid.arrange更改某些行的颜色

时间:2014-10-02 10:40:00

标签: r colors gridextra

我已经看到你可以使用h.odd.alpha等来改变交替行和列的颜色。我想知道是否有办法改变特定行的颜色?

我被要求制作包括数据表格的报告(请不要参考sweave或knitr因为我已经了解这些包)但是他们希望水平呈现表格,但是因为有很多数据点这意味着表格超出A4页面的尺寸。我找到了一种方法来分割我的表,以便显示上面一半的数据和一半以下的数据。我制作的表有3行(当我合并两半时,它会变为6行),所以要明确哪些行是相同的,我想添加颜色来强调它。

这是我创建表格的代码(然后将其保存为文档中显示的图片)

Mdates<-c("08Q1", "08Q2", "08Q3", "08Q4", "09Q1", "09Q2", "09Q3", "09Q4", "10Q1", "10Q2", "10Q3", "10Q4", "11Q1", "11Q2", "11Q3","11Q4", "12Q1", "12Q2", "12Q3", "12Q4", "13Q1", "13Q2", "13Q3", "13Q4", "14Q1" ,"14Q2")
Nu<-c(79160.56,  91759.73,  91186.48, 106353.82,  70346.47 , 80279.15,  82611.60, 131392.72,  93798.99, 105944.78,103913.13, 154530.69, 110157.40, 117416.09, 127423.42, 156752.00, 120097.81, 121307.75, 115021.12, 150657.83,113711.53, 115353.14, 112701.98, 154319.18, 116803.54, 118352.54)
Arimafit<-c(78272.71 , 86726.90,  90593.16, 100364.14,  81288.35,  81119.34 , 80217.01,  98878.31  ,87290.88, 106406.20,107180.51, 142035.06 ,107488.32, 124546.33, 118618.58, 175973.84, 113719.50 ,131377.98, 126586.05, 155147.44, 110674.34, 121228.03, 116329.86, 149380.53, 113957.98, 122351.76)
library(gridExtra)
png("table2.png",height=150,width=710)
tb1<-c(head(Mdates,((length(Mdates)+1)/2)),head(prettyNum(round(Nu,digits=0),big.interval=3L,big.mark=","),((length(Mdates)+1)/2)),head(prettyNum(round(Arimafit,digits=0),big.interval=3L,big.mark=","),((length(Mdates)+1)/2)))
tb2<-c(tail(Mdates,((length(Mdates)-1)/2)),tail(prettyNum(round(Nu,digits=0),big.interval=3L,big.mark=","),((length(Mdates)-1)/2)),tail(prettyNum(round(Arimafit,digits=0),big.interval=3L,big.mark=","),((length(Mdates)-1)/2)))
tb3<-matrix(c(tb1,tb2),nrow=6,byrow=TRUE)
rownames(tb3)<-c("Qtr","Actual $K","Fit $K","Qtr","Actual $k","Fit $K")
t22<-tableGrob(tb3,gp=gpar(cex=0.6))
grid.arrange(t22)
invisible(dev.off())

这是出现的表格: http://i.stack.imgur.com/pVsFr.png

我想要row1 = row4的颜色,row2 = row5的颜色和row3的颜色= row6

三江源

0 个答案:

没有答案