3

次のコードを使用すると、次のようなヒストグラムが得られます

x <- rnorm(100)
hist(x,col="gray")

均一な列ではなく、積み重ねられた長方形(塗りつぶしの色の変更ではなく、輪郭で表示される)としてバーを表示するにはどうすればよいですか?各長方形は、たとえば1の頻度を表しますが、パラメーターを使用してこれを変更できるようにしたいのです。

ヒストグラム

4

2 に答える 2

2

この質問への回答から(h / t Vincent Zoonekynd)。

x <- rnorm(100)
hist(x,col="gray")
abline(h=seq(5,40,5),col="white")
于 2012-06-05T12:02:59.653 に答える
0

開始するための関数は次のとおりです(実際には、パッケージtkBrush内の関数の例の一部を変更したものです)。TeachingDemos

     rechist <- function(x,...){
         tmp <- hist(x,plot=F)
         br <- tmp$breaks
         w <- as.numeric(cut(x,br,include.lowest=TRUE))
         sy <- unlist(lapply(tmp$counts,function(x)seq(length=x)))
         my <- max(sy)
         sy <- sy/my
         my <- 1/my
         sy <- sy[order(order(x))]
        plot.new()
        plot.window(xlim=range(br), ylim=c(0,1))
         rect(br[w], sy-my, br[w+1], sy, 
            border=TRUE, col='grey')
         rect(br[-length(br)], 0, br[-1], tmp$counts*my)
        axis(1)
     }

rechist( iris$Petal.Length )
于 2012-06-05T16:32:11.200 に答える