删除 gridExtra::tableGrob 中的行名
Remove rownames in gridExtra::tableGrob
我想用 ggplot 绘制一个 table,但是似乎无法丢失 row.names。
我试过:
row.names(cov_table_a)<-NULL # outside the plot
row.names = FALSE # inside the annotation_custom
这是我的数据:
cov_table_a<-
structure(list(Year = structure(1:16, .Label = c("1970", "1971",
"1972", "1973", "1974", "1975", "1977", "1979", "1980", "1981",
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1990",
"1991", "1992", "2000", "2001", "2003", "2004", "2007", "2008",
"2009", "2010", "2011", "2012", "2013", "2014"), class = "factor"),
`Percentage \nof missing data` = structure(c(4L, 2L, 4L, 6L,
1L, 12L, 5L, 21L, 21L, 11L, 10L, 13L, 9L, 17L, 18L, 14L), .Label = c("0%",
"1%", "100%", "17%", "24%", "31%", "35%", "5%", "58%", "59%",
"60%", "70%", "71%", "72%", "8%", "86%", "90%", "92%", "95%",
"98%", "99%"), class = "factor")), .Names = c("Year", "Percentage \nof missing data"
), row.names = c(NA, -16L), class = "data.frame")
这是我尝试绘制它的方式:
library(ggplot2)
library(gridExtra)
# First I create an empty graph with absolutely nothing :
qplot(1:10, 1:10, geom = "blank") + theme_bw() + theme(line = element_blank(), text = element_blank()) +
# Then I add my table :
annotation_custom(grob = tableGrob(cov_table_a), xmin=-5, xmax=10,ymin=1, ymax=10)
注意:如果table要绘制在空canvas上,则不需要使用ggplot作为容器canvas:
grid.table(cov_table_a, rows = NULL)
或
grid.draw(tableGrob(cov_table_a, rows = NULL))
可以代替
但也可以使用 ggplot
:
qplot(1:10, 1:10, geom = "blank") +
theme_void() +
annotation_custom(
grob = tableGrob(cov_table_a, rows = NULL),
xmin = -5, xmax = 10, ymin = 1, ymax = 10
)
我想用 ggplot 绘制一个 table,但是似乎无法丢失 row.names。
我试过:
row.names(cov_table_a)<-NULL # outside the plot
row.names = FALSE # inside the annotation_custom
这是我的数据:
cov_table_a<-
structure(list(Year = structure(1:16, .Label = c("1970", "1971",
"1972", "1973", "1974", "1975", "1977", "1979", "1980", "1981",
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1990",
"1991", "1992", "2000", "2001", "2003", "2004", "2007", "2008",
"2009", "2010", "2011", "2012", "2013", "2014"), class = "factor"),
`Percentage \nof missing data` = structure(c(4L, 2L, 4L, 6L,
1L, 12L, 5L, 21L, 21L, 11L, 10L, 13L, 9L, 17L, 18L, 14L), .Label = c("0%",
"1%", "100%", "17%", "24%", "31%", "35%", "5%", "58%", "59%",
"60%", "70%", "71%", "72%", "8%", "86%", "90%", "92%", "95%",
"98%", "99%"), class = "factor")), .Names = c("Year", "Percentage \nof missing data"
), row.names = c(NA, -16L), class = "data.frame")
这是我尝试绘制它的方式:
library(ggplot2)
library(gridExtra)
# First I create an empty graph with absolutely nothing :
qplot(1:10, 1:10, geom = "blank") + theme_bw() + theme(line = element_blank(), text = element_blank()) +
# Then I add my table :
annotation_custom(grob = tableGrob(cov_table_a), xmin=-5, xmax=10,ymin=1, ymax=10)
注意:如果table要绘制在空canvas上,则不需要使用ggplot作为容器canvas:
grid.table(cov_table_a, rows = NULL)
或
grid.draw(tableGrob(cov_table_a, rows = NULL))
可以代替
但也可以使用 ggplot
:
qplot(1:10, 1:10, geom = "blank") +
theme_void() +
annotation_custom(
grob = tableGrob(cov_table_a, rows = NULL),
xmin = -5, xmax = 10, ymin = 1, ymax = 10
)