Question

Je cherche un moyen d'ajouter des étiquettes, à savoir des valeurs absolues, dans un graphique à barres empilées en utilisant les fonctions de base de tracé R. Les étiquettes doivent être à l'intérieur des barres empilées.

Merci!

Était-ce utile?

La solution

barplot retourne la position mi-x des barres, de sorte que vous pouvez faire

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: relisant votre question, je pense que c'est ce que vous voulez (ou peut-être pas, mais je vais l'écrire de toute façon: 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)

Autres conseils

Qu'en est-il de la simple fonction text()?

Vous pouvez simplement ajouter une chaîne où vous voulez, par exemple:

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

Peut-être que vous pouvez utiliser ou inspecter le Barp fonction PLOTRIX package

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top