2010-07-10 13 views
10

में मूल्य प्रदर्शित करें मैं इसके प्रत्येक भाग के लिए 100% बार के मान प्रदर्शित करना चाहता हूं। दुर्भाग्य से मुझे नहीं पता कि यह कैसे करें। ग्राफ की स्थिति के कारण ग्राफ जाली में होना चाहिए (मैंने इसे ggplot2 के साथ करने की कोशिश की, लेकिन आप एक पंक्ति में किंवदंती नहीं दिखा सकते हैं)। मैं किसी भी सुझाव या विचारों के बारे में खुश हूं।स्टैक्ड जाली बरचर्ट

library(lattice) 
data(postdoc, package = "latticeExtra") 
colnames(postdoc) <- c("Legendtext 1", "2", "3", "4", "5") 
colorset <- simpleTheme(col = c(rgb(166,27,30,maxColorValue = 255), 
           rgb(192,80,77,maxColorValue = 255), 
           rgb(24,65,83,maxColorValue = 255), 
           rgb(60,143,167,maxColorValue = 255), 
           rgb(130,184,208,maxColorValue = 255)), 
           border = "white") 
pl <- barchart(prop.table(postdoc, margin = 1), 
       par.settings = colorset, 
       auto.key = list(columns = 5, space = "bottom", 
           cex = 0.8, size = 1.4, between = 0.2, 
           between.columns = 0.1, adj = 1)) 

उत्तर

18

यह एक कस्टम पैनल समारोह का प्रयोग कर प्राप्त किया जाता है:

library(lattice) 
library(plyr) 

data(postdoc, package="latticeExtra") 
colnames(postdoc) <- c("Legendtext 1", "2", "3", "4", "5") 
colors <- c(rgb(166,27,30,maxColorValue = 255), 
      rgb(192,80,77,maxColorValue = 255), 
      rgb(24,65,83,maxColorValue = 255), 
      rgb(60,143,167,maxColorValue = 255), 
      rgb(130,184,208,maxColorValue = 255)) 
colorset <- simpleTheme(col=colors, 
         border="white") 

pl <- barchart(prop.table(postdoc, margin=1), 
       par.settings=colorset, 
       panel=function(...) { 
       panel.barchart(...) 
       tmp <- list(...) 
       tmp <- data.frame(x=tmp$x, y=tmp$y) 
       # calculate positions of text labels 
       df <- ddply(tmp, .(y), 
          function(x) { 
           data.frame(x, pos=cumsum(x$x)-x$x/2) 
          }) 
       panel.text(x=df$pos, y=df$y, 
          label=sprintf("%.02f", df$x), 
          cex=0.7) 
       }, 
       auto.key=list(columns=5, space="bottom", 
          cex=0.8, size=1.4, adj=1, 
          between=0.2, between.colums=0.1)) 

lattice plot http://img819.imageshack.us/img819/894/panelbarchart.png

+0

आपको बहुत बहुत धन्यवाद! यह मेरे लिए एक बड़ी मदद थी! – SebastianW