In meinem R nachfolgenden Code, ich habe zwei Situationenjeder resultierenden in einem anderen Grundstück je nach S
wobei größer oder kleiner als1
. Ich habe mich gefragt, wie ich die aktuelle Legende herausnehmen (move up) und es über die Handlung an der gleichen Stelle für beide der resultierenden Plots setzen kann?Platzierung Legende außerhalb eines sich dynamisch ändernden Plot R
Hinweis: Aufgrund Y-Achse auf log-Skala ist habe ich verwendet 10^par('usr')[4]
aber ich brauche eine Reihe-10^par('usr')[4]
(dh(10^par('usr'))[4] + a number
) so hinzuzufügen, dass "Diese Nummer" bringt die Legende an die exakt gleiche Stelle über eines der resultierenden Plots?
Hier ist der R-Code:
S <- 0.25 ### !!! Change this to "24" and see how another plot will appear !!! ###
Ur <- c(0.25, 24, 16)
if(S>=1){
plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(1/3, 100), log="y", bty="n", ann=F, axes=F, xaxs="i")
axis(side=1, at = seq(0,1.5,.25),labels = c("0",".25",".5",".75","1","1.25","1.5"))
axis(side=2, at = c(1/3, 1, 3, 10, 30, 100),labels = c("1/3", "1", "3", "10", "30", "100"),las=1)
}else{
plot(1, 1, type = "n", xlim = c(0,1.5), ylim = c(.01, 3), log="y", bty="n", ann=F ,axes=F, xaxs="i")
axis(side=1, at = seq(0,1.5,.25),labels = c("0",".25",".5",".75","1","1.25","1.5"))
axis(side=2, at = c(.01, 1/30, 1/10, 1/3, 1, 3),labels = c("1/100", "1/30", "1/10", "1/3", "1", "3"),las=1)
}
legend(0, (10^par("usr"))[4], bquote(paste("Selected Prior: ",bold('PN'[10])," = ", .(round(S,3)))), ## Legend
pch = 21,cex=2,pt.bg="green", col="red", pt.cex=2.8, bty="n")
ich nicht G finden konnten? – aelwan
Sie können die Koordinaten des aktuellen Diagramms mit 'par() $ fig' (die X-, Y-Koordinaten der 'Box') finden und daraus Koordinaten für Ihre Legende berechnen –
@aelwan, ich habe den Code bearbeitet, läuft gut – rnorouzian