0

我对lattice很陌生,所以对我来说,它在这里进行了反复试验。

用典型的 r 理解似乎无法自定义格子图形。

我想count(percentage)在每个栏下方添加类似的内容,完成后应该看起来像这样:

带标签的条形图

如您所见,我的代码没有正确标记条形。并非所有这些都是错误的。第一个应该是 20(0.1%)。

这是我的代码:

grp1<-rep("grp1",20)
grp2<-rep("grp2",40)
grp3<-rep("grp3",60)
grp4<-rep("grp4",80)
grp <- c(grp1,grp2,grp3,grp4)

barchart(grp,horizontal=F, 
    par.settings = list(
    plot.polygon = list(col = c("#1E4150","#28556E","#32698C","#3C7DAA")) ),
        panel = function(x, y, subscripts, ...){  
            X <- table(x)
            panel.barchart(x,y,...) 
            percentages <- paste(round(table(X)/length(X),2),"%",sep="")
            lab1 <- paste( "(",percentages, sep="")
            lab1 <- paste( lab1,")", sep="")
            abs <- table(X)
            panel.text(1,-3, label = paste(abs,lab1), cex=0.8)
        } 
) 
4

1 回答 1

4

我想也许你想做更多这样的事情:

barchart(grp,horizontal=F, 
    par.settings = list(
    plot.polygon = list(col = c("#1E4150","#28556E","#32698C","#3C7DAA")) ),
        panel = function(x, y, subscripts, ...){  
            panel.barchart(x,y,...) 
            percentages <- paste(round(y/sum(y),2),"%",sep="")
            lab1 <- paste( "(",percentages,")", sep="")
            panel.text(x,-3, labels = paste(y,lab1), cex=0.8)
        } 
) 

在此处输入图像描述

于 2012-05-30T17:38:16.723 回答