2014-01-07 3 views
1

Как переопределить единицы этой оси. "" представляют собой части, которые мне нужно переопределить: Photosynthetically available radiation (µE m"-2"d"-1").Верхний индекс в R

Я использовал формулу и не имея никакой удачи до сих пор:

plot(PAR~SST,data=brazilw, pch=15,col="red", main ="Fig. 1. Relationship between photosynthically available radiation\n and sea surface temperature", 
ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1)) 
+0

возможно дубликат [использовать подстрочные оси R лейбл] (http://stackoverflow.com/ вопросы/10628547/use-superscripts-in-r-axis-labels) – Stedy

+0

Я не могу воспроизвести проблему: 'plot (1, ylab = выражение (" Фотографически доступное излучение (μE m "^ - 2 ~ d^-1)) '. –

ответ

5

Пока я не вижу реальную проблему в данном конкретном случае, я могу видеть, если быть проблема с другими лейблами. Я склонен группировать элементы супер/индекс в фигурных скобках { }, LaTeX stylee.

Вот пример:

plot(1:10, 
    ylab = expression("Photosynthetically available radiation" ~ 
         (µE ~ m^{-2} ~ d^{-1}) 
         ) 
    ) 

Есть подводные камни с вашей версией и приведенной выше; бит в фигурных скобках также должен быть действительным выражением, поэтому

plot(1:10, 
    ylab = expression("Photosynthetically available radiation" ~ (µE ~ 
         m^{2-} ~ d^{1-}))) 

с ошибкой. (Мне иногда нужны эти формы для написания формул для ионов, например). Чтобы решить эту проблему, вам действительно нужны скобки { }, и вам нужно что-то прибыть после оператора -. Эта последняя функция обрабатывается phantom(), что оставляет пространство в выражении своего аргумента, но, как мы выиграли, т указать один, это просто заполнитель для ничего, что может пойти на правой стороне -:

plot(1:10, 
    ylab = expression("Photosynthetically available radiation" ~ (µE ~ 
         m^{2-phantom()} ~ d^{1-phantom()}))) 

phantom() также весьма полезен для размещения верхнего/нижнего индекса перед тем строку, как вы бы с изотопной нотацией

plot(1:10, ylab = expression(phantom()^{210} * Pb)) 
+0

Это пока замечательно, но мне нужна конечная скобка, чтобы закрыть блоки, т. Е. (ΜE m-2 d-1). Я попытался добавить это, но он не работает, как бы вы добавили последнюю закрывающую скобку? – user3170629

+0

@ user3170629 Извините, я забыл, что не сделал. то, как я это делаю, это личное предпочтение, вы можете добавить его как '*") "как последнюю часть выражения. Я предпочитаю не цитировать, поэтому решение, которое я добавлю выше, состоит в том, чтобы взять всю спецификацию единиц в скобках из исходной строки, тогда вы обрабатываете '(' и ')' как скобки в уравнении. –

1

Две проблем я вижу: Существуют не достаточно мест для надиндексов на полях и там не является закрывающим правым парнем , Это достаточно легко добавить закрывающие скобка с:..

ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1*")")) 

(Вам нужно процитировать скобка, потому что это «активный» или «специальный» в выражениях Или вы могли бы использовать plotmath group -функции Маржа доступен с номинальной командой или вы можете использовать команду заголовка указать ylab, который ближе к сюжету:

plot(1,1, ylab="") 
title(ylab=expression("Photosynthetically available radiation (µE m"^-2~d^-1*")"), 
     line=2) 
Смежные вопросы