2013-03-21 15 views
7

Witam Jestem nowy w R, więc przepraszam, jeśli jest to bardzo podstawowe pytanie. Próbuję dodać tekst do wykresu w punkcie 11 na osi X i punktu 900 na osi Y, który odczyta t0= -4.0280 z 0 jako dolnym. Gdzie t0 <- -4.0280 Aby to zrobić Próbowałem:Jak dołączyć indeks dolny w tekście dla etykiet punktów wydruku

text(11,900,paste("t[0]=",t0),cex=0.8) 
# which gives 
't[0]= -4.0280' 

text(11,900,expression(paste("t[0]=",t0)),cex=0.8) 
# which gives 
't[0]=t0' 

# the closest I've gotten is:  
text(11,900,expression(paste(t[0]==t0)),cex=0.8) 

który użyje indeks ale powrót t0 zamiast mojego wartości -4.0280.

Czy ktoś mógłby mi pokazać, gdzie się nie udało?

Pozdrawiam.

Odpowiedz

5

Możesz zamienić expression na substitute. Nie ma potrzeby używania paste. Argument list(t0 = t0) mówi substitute zastąpić ciąg t0 z wartością przedmiotu t0:

plot(1,1) 

t0 <- 1.3 

text(1, 0.8, substitute(t[0]==t0, list(t0 = t0)), cex = 0.8) 

enter image description here

3

Nieco krótsza niż substitute jest z bquote:

plot(1,1) 
t0 <- -4.0280 
text(1, 0.8, bquote("t"[0] ~ "=" ~ .(t0))) 

z Gdybyś lubię używać paste tam:

text(1, 0.8, (bquote("t"[0]~.(paste0('=',t0))))) 

Ten rodzaj Q ma pojawiło się wcześniej:

Using subscript and variable values at the same time in Axis titles in R

Concatenate strings and expressions in a plot's title

+1

Dzięki chłopaki, zarówno tych odpowiedzi działał świetnie. Dla jasności, kiedy powinienem użyć "wklejania", jeśli nie było to właściwe użycie? – JJS

+0

Oto przykład kilku zastosowań 'wklej' http://stackoverflow.com/a/15506875/1036500 – Ben

+0

Zmieniłem moją odpowiedź, aby pokazać, jak możesz użyć "wklej" tutaj, ale to nie jest najbardziej wydajne droga. Generalnie używam 'paste' do tworzenia wektorów znaków, a nie obiektów zawierających zmienne takie jak twój przykład. To powiedziawszy, czasami robię coś takiego jak 'eval (parse (text = paste0 (" examp ", i))' gdzie wynik wklejania jest oceniany, ale jest to uważane za złą praktykę - 'biblioteka (fortuny), fortuna (106)' – Ben

Powiązane problemy