Подтвердить что ты не робот

Использовать надстрочные знаки в метках оси R

Используя базовую графику в R, как я могу добавить верхние индексы к меткам оси, как можно было бы при построении осей широты и долготы на карте.

Рассмотрим следующий пример:

plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE)
axis(1, seq(-100, -50, 10), labels=paste(abs(seq(-100, -50, 10)), "o", "W", sep=""))
axis(2, seq(50, 100, 10), labels=paste(seq(50,100,10), "o", "N", sep=""))
box()

Создает красивый кадр вокруг карты. Было бы даже лучше сделать надпись символа градуса.

Обычно это можно сделать в других функциях построения, таких как mtext() и text(), используя expression(paste(...)) или substitute(), но как это сделать в этом случае?

4b9b3361

Ответ 1

Он работает одинаково для осей: parse(text='70^o*N') поднимет o как верхний индекс (*N должен убедиться, что N тоже не поднят).

labelsX=parse(text=paste(abs(seq(-100, -50, 10)), "^o ", "*W", sep=""))
labelsY=parse(text=paste(seq(50,100,10), "^o ", "*N", sep=""))
plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE)
axis(1, seq(-100, -50, 10), labels=labelsX)
axis(2, seq(50, 100, 10), labels=labelsY)
box()

Ответ 2

Это быстрый пример

plot(rnorm(30), xlab = expression(paste("4"^"th")))

Ответ 3

Другой вариант в этом конкретном случае - ввести символ степени: ˚

R, похоже, отлично справляется с этим. Введите Option-k на Mac, чтобы получить его. Не уверен в других платформах.

Ответ 4

@The Thunder Chimp Вы можете разделить текст таким образом, что на некоторые разделы влияет супер (или sub) script, а другие не используются *. Для вашего примера, разделив слово "момент" с "четвертого" -

plot(rnorm(30), xlab = expression('4'^th*'moment'))