2 Stimmen

Wie fügt man einem R-Basisdiagramm mit Hilfe eines Ausdrucks und des Werts einer Variablen schön formatierte Anmerkungen hinzu?

Angenommen, ich habe eine Variable rv die einen bestimmten numerischen Wert hat. Nun möchte ich den Wert dieser Variablen auf einem Basisdiagramm darstellen, dem jedoch ein schön formatiertes Symbol vorangestellt wird, z. B. r, tiefgestellt m, mit expression . Zum Schreiben auf dem Grundstück verwende ich mtext .
Was ich jedoch erhalte, ist entweder der Wert der Variablen, aber kein schön formatiertes Symbol (linke Anmerkung), oder ein schön formatiertes Symbol, aber nicht der Wert der Variablen, sondern der Name der Variablen...

Ich habe versucht, mit eval aber ich habe nicht bekommen, was ich wollte. Hier ist mein Code:

plot(1:10, rep(10,10), ylim=c(0,12))
rv <- 0.43

#left annotation:
mtext(paste(expression(italic(r[M])), " = ", rv), side = 1, line = -1.5, adj = 0.1)
#right annotation:
mtext(expression(paste(italic(r[M]), " = ", rv)), side = 1, line = -1.5, adj = 0.9)

Das ist das Ergebnis: alt text

Wie erhalte ich beides, das schöne Format und den Wert der Variablen? Danke.

btw: Ich weiß, dass ich es bekommen kann, wenn ich zwei Mal mtext und spielen Sie herum mit adj und so weiter. Aber ich würde es wirklich gerne in einem Aufruf oder ohne herumzuspielen mit der Position von zwei Anmerkungen zu bekommen.

2voto

Greg Snow Punkte 46977

Die Funktion bquote erstellt einen Ausdruck und erlaubt die Ersetzung von Werten mit der Syntax .(var). für Ihren Fall tun Sie etwas wie:

text( 5,1, bquote( italic(r[M]) == .(rv) ) )

0voto

Dirk Eddelbuettel Punkte 345316

Kombinieren Sie einfach, was Sie haben, und zeichnen Sie zwei Teile, die Sie mit adj :

R> plot(1:10, rep(10,10), ylim=c(0,12))
R> text(2,12, expression(paste(italic(r[M]))), adj=1)
R> text(2,12, paste("=", rv), adj=0)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X