tableGrob:使用 annotation_custom 调整在 ggplot 顶部绘制的 table(更改字体大小)的大小
tableGrob: resizing a table (changing font size) drawn on top of ggplot using annotation_custom
我在使用 tableGrob() 和 annotation_custom() 调整绘制在绘图上的 table 中的文本大小时遇到一些问题。本质上,我希望 table 中的字体大小更小,以便整体 table 更小。我已经检查了 tableGrob() documentation 并已尽我所能遵循它,但我一定是做错了什么,因为它会抛出错误。
这是一个可重现的例子:
library(ggplot2)
library(grid)
library(gridExtra)
df <- data.frame(x=seq(1,10),y=seq(11,20))
table <- data.frame(x=seq(1,3),y=seq(4,6))
ggplot(df,aes(x=x,y=y)) + geom_point() +
annotation_custom(tableGrob(table,rows=NULL),xmin=0,xmax=3,ymin=15,ymax=20) # plot drawn successfully without text resizing
ggplot(df,aes(x=x,y=y)) + geom_point() +
annotation_custom(tableGrob(table,rows=NULL,gpar.coretext = gpar(col = "black", cex = 0.8)),xmin=0,xmax=3,ymin=15,ymax=20)
# error when attempting to resize text following tableGrob documentation
这是我在 运行 第二个 ggplot() 命令时得到的错误:
Error in gtable_table(d, name = "core", fg_fun = theme$core$fg_fun, bg_fun = theme$core$bg_fun, :
unused argument (gpar.coretext = list(col = "black", cex = 0.8))
非常感谢任何帮助!
如果您只想 所有 文本在 table 中变小,请在 ttheme_default
中使用 base_size
:
library(ggplot2)
library(grid)
library(gridExtra)
df <- data.frame(x=seq(1,10),y=seq(11,20))
table <- data.frame(x=seq(1,3),y=seq(4,6))
ggplot(df,aes(x=x,y=y)) +
geom_point() +
annotation_custom(tableGrob(table,rows=NULL, theme = ttheme_default(base_size = 8)),
xmin=0,xmax=3,ymin=15,ymax=20)
由 reprex package (v0.3.0)
于 2020 年 3 月 5 日创建
我在使用 tableGrob() 和 annotation_custom() 调整绘制在绘图上的 table 中的文本大小时遇到一些问题。本质上,我希望 table 中的字体大小更小,以便整体 table 更小。我已经检查了 tableGrob() documentation 并已尽我所能遵循它,但我一定是做错了什么,因为它会抛出错误。
这是一个可重现的例子:
library(ggplot2)
library(grid)
library(gridExtra)
df <- data.frame(x=seq(1,10),y=seq(11,20))
table <- data.frame(x=seq(1,3),y=seq(4,6))
ggplot(df,aes(x=x,y=y)) + geom_point() +
annotation_custom(tableGrob(table,rows=NULL),xmin=0,xmax=3,ymin=15,ymax=20) # plot drawn successfully without text resizing
ggplot(df,aes(x=x,y=y)) + geom_point() +
annotation_custom(tableGrob(table,rows=NULL,gpar.coretext = gpar(col = "black", cex = 0.8)),xmin=0,xmax=3,ymin=15,ymax=20)
# error when attempting to resize text following tableGrob documentation
这是我在 运行 第二个 ggplot() 命令时得到的错误:
Error in gtable_table(d, name = "core", fg_fun = theme$core$fg_fun, bg_fun = theme$core$bg_fun, :
unused argument (gpar.coretext = list(col = "black", cex = 0.8))
非常感谢任何帮助!
如果您只想 所有 文本在 table 中变小,请在 ttheme_default
中使用 base_size
:
library(ggplot2)
library(grid)
library(gridExtra)
df <- data.frame(x=seq(1,10),y=seq(11,20))
table <- data.frame(x=seq(1,3),y=seq(4,6))
ggplot(df,aes(x=x,y=y)) +
geom_point() +
annotation_custom(tableGrob(table,rows=NULL, theme = ttheme_default(base_size = 8)),
xmin=0,xmax=3,ymin=15,ymax=20)
由 reprex package (v0.3.0)
于 2020 年 3 月 5 日创建