我想合并拉丁文和希腊文文本的向量以生成图标题,轴标签,图例条目等。我在下面提供了一个简单的示例。我无法弄清楚如何以其 native 形式呈现希腊字母。我已经尝试将expression
,parse
和apply
的各种组合用于paste
命令,但是我无法向量化易于为单个表达式生成混合拉丁/希腊文本的代码(例如,expression("A ("*alpha*")")
适合这种情况)单个表达式)。
data<-matrix(seq(20),nrow=5,ncol=4,byrow=TRUE)
colnames(data)<-c("A","B","C","D")
greek<-c(" (alpha)"," (beta)"," (gamma)"," (delta)")
matplot(data)
legend(1,max(data),fill=c("black","red","green","blue"),apply(matrix(paste(colnames(data),greek,sep=""),nrow=4,ncol=1),1,expression))
您能帮我处理
apply()
语句中的legend()
语句吗?需要进行一些修改才能产生所需的输出(即A(α),B(β),C(γ),D(δ))。提前致谢。 最佳答案
这是一个避免parse()
的替代方法,并且可以使用您对@mnel的好答案的第一个注释中提到的示例:
greek <- c("alpha", "beta", "gamma", "delta")
cnames <- paste(LETTERS[1:4], letters[1:4])
legend_expressions <-
sapply(1:4, function(i) {
as.expression(substitute(A (B),
list(A = as.name(cnames[i]), B = as.name(greek[i]))))
})
matplot(data)
legend(1,max(data),fill=c("black","red","green","blue"),legend_expressions)
关于R:为图标题,轴标签或图例创建拉丁/希腊表达式的矢量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13169318/