Підписки на ділянки в R


95

Я не можу знайти спосіб, як написати підписки в заголовку або підзаголовку в R. Як я можу написати v 1,2 з 1,2 як підписки?

Спасибі за вашу допомогу!

Відповіді:


138

expression ваш друг:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript

3
Як завантажити "2" із змінної? У мене є цикл і мені потрібно побудувати графік x_ [1] x_ [2] x_ [3] ...
0x2207

6
Ви можете використовувати bquoteпри роботі з індексами змінних. Скажімо,, nIter <- 2тоді plot(1, 1, main = bquote(title[.(nIter)]))саме те, що вам потрібно (взято зі списку розсилки R-help ).
fdetsch

119

Якщо ви хочете мати декілька підписок в одному тексті, використовуйте зірочку (*), щоб розділити розділи:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))

6
Ого, відповідь на дворічну відповідь на дворічне запитання - це виявилося тим, що мені було потрібно. Дякую!
Майкл

2
І якщо ви хочете, щоб індекс був рядком, просто вкажіть його в лапки:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
Стюарт Макдональд

1
Це хороший рада , як ви можете поставити [digits]або [characters]навіть [a5]в індексі , але не [5a]або [a a]. Нещодавно я виявив це для:expression('x'['10sdt'])
Сиріль


10

Індекс та посилання на збережене значення ...

a <- 10
plot(c(0,1), c(0,1), type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
text(0.2, 0.6, cex = 1.5, bquote(paste('S'['f']*' = ', .(a))))

введіть тут опис зображення


5

Інший приклад, вираз працює для негативних надрядкових знаків без необхідності лапок навколо від’ємного числа:

title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

і вам потрібно лише *, щоб відокремити розділи, як згадувалося вище (коли ви пишете верхній або нижній індекс і вам потрібно додати більше тексту до виразу після).


1
Дякуємо, що чітко пояснили, що робить *!
Lalochezia

4

Як зазначали інші користувачі, ми використовуємо expression(). Я хотів би відповісти на оригінальне запитання, яке включає кому в нижньому індексі:

Як я можу написати v 1,2 з 1,2 як індекси?

plot(1:10, 11:20 , main=expression(v["1,2"]))

Крім того, я хотів би додати посилання для тих, хто хоче знайти повний expressionсинтаксис у Rпобудові графіків: для отримання додаткової інформації див. ?plotmathСторінку довідки. Бігdemo(plotmath) покаже багато виразів та відповідний синтаксис.

Не забувайте використовувати *для об’єднання різних типів тексту у виразі.

Ось деякі зразки вихідних даних demo(plotmath):

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.