在mtext中创建上标

时间:2013-07-19 10:01:32

标签: r

我有以下数据框

Data1 <- data.frame(pH = c(8,8.5,6,7.1,9), EC50 = c(20,11,5,25,50))
Data2 <- data.frame(pH = c(7,7.2,6.5,8.2,8.5), EC50 = c(13,15,18,25,19))

使用par我在一个图上创建两个图:

par(mfrow=c(2,1), oma=c(3,3,1,1), mar=c(2,2,3,1), cex.axis=1.3)
plot(x=Data1[,'pH'], y=Data1[,'EC50'])
plot(x=Data2[,'pH'], y=Data2[,'EC50'])

由于我使用了par,因此无法在xlab中指定ylabplot, 因此我使用mtext 我想在ylab写一个上标,但是,我不知道该怎么做,
使用mtext时。

我试过以下

mtext(expression("Cu^{2+} at EC50"), side=2, line = 4, padj=1, at=30, cex=1.2)

但似乎无法将2+作为Cu上方的上标。

非常欢迎任何帮助!

2 个答案:

答案 0 :(得分:3)

mtext(expression(paste("Cu"^"2+","at EC50",sep="")))

答案 1 :(得分:3)

您必须在expression调用中构建表达式。请参阅Mathematical Annotation in R上的示例。

在你的情况下我找到了

mtext(expression(paste( plain("Cu") ^ plain("2+"), plain(" at EC50") )), side=2, line = 4, padj=1, at=30, cex=1.2)

给出了合理的结果

相关问题