我试图使用bquote函数在r中标记绘图轴.所需的字符串包括希腊mu字符和变量.
这导致mu两侧的空间:
xlab = bquote("Lake NO3 (" ~ mu ~ "mol/L): " ~ .(i))
Run Code Online (Sandbox Code Playgroud)
如何摆脱mu旁边的空格?
我尝试使用paste和paste0表达式,但这些都不允许使用希腊字符和变量.
我正在使用它在 for 循环中将绘图打印到 PDF,它工作正常:
print(ggplot(subdata3, aes(x = Year, y = value, colour = Stat))
+ geom_line() + expand_limits(y=c(0,100))
+ ggtitle(paste0(as.character(ScenName),":\n", as.character(k)))
+ ylab(paste0(j, " (", units, ")")))
Run Code Online (Sandbox Code Playgroud)
现在,我需要将每个ggplot变量分配给一个变量“p”,然后将其存储在一个列表中,并用于multiplot在页面上排列多个图。
这是我将绘图分配给变量的尝试:
p <- ggplot(subdata3, aes(x = Year, y = value, colour = Stat))
+ geom_line() + expand_limits(y=c(0,100))
+ ggtitle(paste0(as.character(ScenName),":\n", as.character(k)))
+ ylab(paste0(j, " (", units, ")"))
Run Code Online (Sandbox Code Playgroud)
我所做的唯一更改是删除print()并进行变量分配。之后,我收到此错误:
Error in +ggtitle(paste0(as.character(ScenName), ":\n", as.character(k))) :
invalid argument to unary operator
Run Code Online (Sandbox Code Playgroud)
我已经尝试了对各种设置的许多调整(),试图找到解决方案,但是,似乎没有任何效果。
有什么想法吗?
我有一个图表列表,我正在使用marrangeGrob每页编写多个图表.这给了我每页6个图:
marrangeGrob(plots, nrow=3, ncol=2, top=NULL)
Run Code Online (Sandbox Code Playgroud)
但我需要的是每页5个图(即右下方的绘图区域留空)
以下是基于我的数据子集的可重现示例:
> CohData
Name ScenID ScenName Year VarName Units value
1 Site01 0 Hind 2000 ANC ueq/L 28.23
2 Site02 0 Hind 2000 ANC ueq/L 35.34
3 Site03 0 Hind 2000 ANC ueq/L 31.73
4 Site04 0 Hind 2000 ANC ueq/L 54.21
5 Site05 0 Hind 2000 ANC ueq/L 28.23
6 Site01 1 BC 2020 ANC ueq/L 45.01
7 Site02 1 BC 2020 ANC ueq/L 32.86
8 Site03 1 BC 2020 ANC …Run Code Online (Sandbox Code Playgroud)