Это может быть легко решить, но я ничего не нашел с Google, может быть, потому, что трудно выразить словами. При запуске следующего кодаИсходное выравнивание меток оси
Dat<-matrix(c(1:10, 1:10, seq(0.1, 1, 0.1)), 10, 3)
par(mfrow=c(1, 2))
plot(Dat[,1], Dat[,2], ylab="Y", xlab=expression(paste("A unit (", m^2, ")", sep="")))
plot(Dat[,1], Dat[,3], ylab="Y", xlab="A unit")
Я получаю хороший сюжет, но метки на оси X находятся не на одной базовой линии. Причина в том, что метка левого сюжета имеет круглые скобки, которые достигают базовой линии текста, а R накладывает метки таким образом, что нижняя точка текстовой строки берется за базовую линию при использовании expression()
в команде xlab. Следовательно, «Единица» на правом графике печатается ниже, чем на левом рисунке (см. Пример изображения, обозначенного красной линией). Это раздражает, если некоторые ярлыки имеют круглые скобки или буквы с частями, которые достигают базовой линии (например, «g», «q» и т. Д.), А другие нет. Есть ли способ исправить это?
Спасибо большое, что делает трюк. И да, вы правы, эта проблема возникает только при использовании 'expression()'. Нормальная единица «xlab =» A (m) »', а также 'xlab = paste (« Единица («,», «m», «)», sep = »)' отлично справляется без таких трюков. –