Использовать надстрочные знаки в метках оси 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()
, но как это сделать в этом случае?
Ответы
Ответ 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'))