Ho un grafico a dispersione con una linea orizzontale e una verticale, che rappresentano valori di soglia e pertanto dividono la trama in quattro quadranti. Mi piacerebbe etichettare i quadranti. Penso che il modo migliore per farlo sarebbe un numero in ciascuno dei quattro angoli del grafico (i suggerimenti alternativi sono ben accetti!).Posiziona il testo ggplot in ogni angolo
Sono riuscito a mettere un testo nell'angolo di ogni quadrante, ma le posizioni non sono perfette. Presumo che il problema abbia a che fare con il fatto che il ridimensionamento degli assi è diverso (l'intervallo di valori è all'incirca lo stesso, ma la larghezza della mia figura è circa tre volte l'altezza).
Attualmente procedo nel seguente modo. Per prima cosa creo il grafico con i punti e le due linee, poi lo costruisco per ottenere l'intervallo dei due assi, che uso per regolare la posizione dei testi.
plot.build = ggplot_build(plot)
xpos = numeric(4)
xpos[2] = xpos[3] = plot.build$panel$ranges[[1]]$x.range[1]
xpos[1] = xpos[4] = plot.build$panel$ranges[[1]]$x.range[2]
ypos = numeric(4)
ypos[1] = ypos[2] = plot.build$panel$ranges[[1]]$y.range[2]
ypos[3] = ypos[4] = plot.build$panel$ranges[[1]]$y.range[1]
plot = plot + geom_text(aes(x2,y2,label = texthere),
data.frame(x2=xpos, y2=ypos, texthere=c("1", "2", "3", "4")),
color="#4daf4a", size=4)
Fondamentalmente questo funziona, ma a causa della scala lo spazio tra i numeri ei bordi della trama non sono uguali per entrambi gli assi. Ho provato a regolare la posizione x del testo, ma poi ggplot espande semplicemente l'intervallo di valori, le posizioni (relative ai bordi) rimangono le stesse. C'è un modo per spostare il testo senza modificare l'intervallo di valori?
Grazie in anticipo!
Benvenuti a SO! Fornisci un [esempio riproducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), con un set di dati e magari un'immagine del tuo output corrente che mostra cosa c'è di sbagliato – scoa
Vorrei aggiungere un'immagine, ma non ho abbastanza punti reputazione per farlo. –