chcę wykreślić etykietę, która wygląda tak w ggplot2
: Value is $\sigma$, R^{2} = 0.6
gdzie Value is
jest zwykła czcionka, $\sigma$
jest greckim małe sigma list i R^{2} = 0.6
pojawia się jako R
z superscript 2
, po którym następuje znak równości (=
), a następnie 0.6
. Jak można tego używać w ggplot factor
s i w argumentach takich rzeczy jak xlab,ylab
z R? dzięki.umieszczenie symboli matematycznych i dolnych zmieszane z regularnych litery R/ggplot2
Odpowiedz
coś takiego:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab(expression(paste("Value is ", sigma,",", R^{2},'=0.6')))
EDIT
Inną opcją jest użycie annotate
z parse=T
:
g+ annotate('text', x = 0, y = 0,
label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20)
EDYCJA
Rozwiązanie paste
może być przydatne, jeśli stała 0,6 jest obliczana podczas drukowania.
r2.value <- 0.90
g+ xlab(expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
Nieco bardziej proste niż pasty() może być:
g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab(expression(Value~is~sigma~R^{2}==0.6))
Ogólnie paste
i wszystkie te powiązane-cytaty nie są potrzebne w przypadku korzystania z odpowiednich spójników plotmath. Nawet jeśli chcesz, aby tekst, który w przeciwnym razie tworzyłby grecką literę, wystarczy umieścić go w cudzysłowach po jednym z każdej strony: *
lub ~
. Jednym z problemów z oferowaniem paste
nowym użytkownikom wyrażenia plotmath jest to, że uważają, że jest taki sam jak paste
w pozostałej części języka.
Myślę, że argument "etykiety" do adnotacji przyjmuje tryb znakowy. Możesz sprawdzić, jaka wartość Unicode "sigma" może mieć w zainstalowanej czcionce bezszeryfowej. –
Nota boczna dla użytkowników krat: To rozwiązanie działa również w przypadku sieci kratowej. .i.e 'xyplot (y ~ x, dat = data.frame (x = 0, y = 0), xlab = wyrażenie (wartość ~ wynosi ~ sigma ~ R^{2} == 0,6))' – agstudy
Jeśli chcesz, aby sigma próbowała używać '\ u03c3' –
Bad Maca? Spróbuj z 'x = 0.25, y = 0.25'. Usuwanie mojego błędnego komentarza o niepotrzebowaniu 'parse = TRUE'. –
@DWin ok. Mam takie samo zachowanie z 'x = 0.25, y = 0.25'. Ale z parse = F, otrzymuję sigma z tym \ u03c3, ale także z ~ – agstudy