我使用annotation_custom()在我的图下方添加文本。但是,我无法弄清楚如何减小字体大小。绝望地,我尝试了geom_text(size= 8)
哪个不起作用并且annotation_custom(size=8)
不采用“大小”参数。如何更改annotation_custom()的字体大小?
df <- data.frame(x=seq(1:100), y=sort(rexp(100, 2)))
p= ggplot(df, aes(x=x, y=y)) +
geom_point()+
theme(plot.margin = unit(c(1,1,3,1), "cm"))+
ggtitle('Random Plot')
Text1 = textGrob('Additional suggestions:')
p1 = p + annotation_custom(grob = Text1, xmin = 0.2, xmax = 0.2, ymin = -0.3, ymax = -0.3)
gt <- ggplotGrob(p1)
gt$layout$clip[gt$layout$name=="panel"] <- "off"
grid.newpage()
grid.draw(gt)
Run Code Online (Sandbox Code Playgroud)
任何信息都会非常有帮助。
是否为每个闪亮的会话分配了会话ID /会话密钥(如果部署在闪亮的服务器上)?如果是,我如何访问信息?我在这里阅读了文档并在线查找,但是,找不到真正的答案。
任何信息,将不胜感激。非常感谢!
我有一个巨大的数据框,其变量/列名称以数字开头,例如“1_variable”。现在我正在尝试创建一个函数,该函数可以将这些列名称作为参数,然后使用 ggplot 绘制一些箱线图。但是,我需要该字符串,但还需要将其输入与 `` 一起使用,以使用 ggplot 中的参数。但是我不确定如何转义“1_variable”等字符串,以便为 ggplot 提供“1_variable”输入。
可重复的小例子:
dfx = data.frame(`1ev`=c(rep(1,5), rep(2,5)), `2ev`=sample(10:99, 10),
`3ev`=10:1, check.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
如果我手动绘制该图,输入将如下所示:
dfx$`1ev` <- as.factor(dfx$`1ev`)
ggplot(dfx, aes(x = `1ev`, y = `2ev`))+
geom_boxplot()
Run Code Online (Sandbox Code Playgroud)
我希望能够为数据帧运行的函数是这样的:
plot_boxplot <- function(data, group, value){
data = data[c(group, value)]
data[,group] = as.factor(data[,group])
plot <- ggplot(data, aes(x = group, y = value))+
geom_boxplot()
return(plot)
}
Run Code Online (Sandbox Code Playgroud)
1. 尝试
plot_boxplot(dfx, `1ev`, `2ev`)
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误说Error in [.data.frame(data, c(group, value)) : object '1ev' not found
2. 尝试
用双引号 "" 输入参数给了我意想不到的结果:
plot_boxplot(dfx, "1ev", …
Run Code Online (Sandbox Code Playgroud)