Pregunta

estoy en busca de una manera de añadir etiquetas, es decir, valores absolutos, en un gráfico de barras apiladas usando las funciones de trama básica de R. Las etiquetas deben estar dentro de las barras apiladas.

Gracias

¿Fue útil?

Solución

barplot devolverá la posición de media x de las barras, por lo que podría hacer

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"))

EDIT: volver a leer su pregunta, creo que esto es lo que quiere (o tal vez no, pero voy a escribir de todos modos: 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)

Otros consejos

¿Qué hay de la sencilla text() función?

Usted simplemente puede añadir una cadena donde cada vez que desee, por ejemplo:

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

Tal vez se puede utilizar o inspeccionar el barp en función de la plotrix paquete

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top