Domanda

Sto cercando un modo per aggiungere etichette, vale a dire i valori assoluti, in un grafico a barre in pila utilizzando le funzioni di base della trama R. Le etichette dovrebbero essere all'interno delle barre in pila.

Grazie!

È stato utile?

Soluzione

barplot restituirà la posizione intermedia x dei bar, in modo che si possa fare

mydata <- matrix(c(10, 21, 22, 33, 45, 23, 22, 43, 33), nrow=3)

# b will contain the x midpoints of the bars
b <- barplot(mydata)

# This will write labels in the middle of the bars, horizontally and vertically
text(b, colMeans(mydata), c("Label1", "Label2", "Label3"))

# This will write labels in the middle of the middle block
text(b, mydata[1,]+mydata[2,]/2, c("LabelA", "LabelB", "LabelC"))

Modifica rileggendo la tua domanda, penso che questo è ciò che si vuole (o forse no, ma lo scrivo comunque: D)

# Find the top y position of each block 
ypos <- apply(mydata, 2, cumsum)
# Move it downwards half the size of each block
ypos <- ypos - mydata/2
ypos <- t(ypos)

text(b, ypos, mydata)

Altri suggerimenti

Come circa la semplice funzione di text()?

Si può semplicemente aggiungere una stringa dove mai si desidera, ad esempio:

text (x = ..., y = ..., labels = c("foo bar 1000"))

Forse si può usare o ispezionare la Barp la funzione della plotrix pacchetto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top