1

私は定期的にシミュレートされたデータからヒストグラムを生成していますが、データに関連付けられた十分位数テーブルを添付すると非常に便利です。私はこれを plotrix の addtable2plot 関数で行ってきました。また、50% の値を含むテーブルの行を強調表示すると便利です。以下に例を示します。

library(plotrix)

# Generate data

mu <- -1.771957
sd <- 0.4716474

foo <- rlnorm(100000, mu, sd)

# Generate decile table
xmax <- .75

max <- format(xmax, digits=2, nsmall=2)

dc <- quantile(foo, probs=seq(0, 1, 0.1))
dps <- c("100%", "90%", "80%", "70%", "60%", "50%", "40%", "30%", "20%", "10%", "0%")
dc <- format(round(dc, digits=2), nsmall=2)

decile <- as.data.frame(dps)
deciles <- as.data.frame(cbind(dps,dc), row.names=FALSE)
colnames(deciles) <- c("Probability", "Rate")
deciles$"Rate" <- as.character(deciles$"Rate")
deciles[1,2] <- "0.00"
deciles[11,2] <- paste(">", max, sep="")

# create a plot
hist(foo, freq=F, xlim=c(0,xmax), breaks=50, col="blue")
top <- max(axis(2))
rect(xleft=(.69*xmax), xright=(1.04*xmax), ybottom=(.615*top), ytop=(.665*top), col="gray91", border=NA)
addtable2plot(x=(1.04*xmax), y=(top), xjust=1, yjust=0, table=deciles, cex=0.82,
          title="Title", hlines=TRUE, vlines=TRUE, bty="o", lwd=1.5, bg="transparent")

ご覧のとおり、テーブル プロットの下に色付きの四角形を追加するだけでシェーディングを行っています。これには、各ヒストグラムの x​​left、ybottom、および ytop パラメーターを微調整する必要があります。

手間をかけずにこの強調表示を一貫して行う方法はありますか? ありがとう、

4

1 に答える 1

3

あなたはおそらくこのように意味します:

bg_col <- matrix("white",nrow(deciles),ncol(deciles))
bg_col[11,] <- "grey"

# create a plot
hist(foo, freq=F, xlim=c(0,xmax), breaks=50, col="blue")
top <- max(axis(2))
rect(xleft=(.69*xmax), xright=(1.04*xmax), ybottom=(.615*top), ytop=(.665*top), col="gray91", border=NA)
addtable2plot(x=(1.04*xmax), y=(top), xjust=1, yjust=0, table=deciles, cex=0.82,
          title="Title", hlines=TRUE, vlines=TRUE, bty="o", lwd=1.5, bg= bg_col)

ここに画像の説明を入力

ご覧のとおりrect、比較のためにあなたの通話を残しました。その中に次のような短いメモがありました?addtable2plot

bg が x と同じ次元の色の行列である場合、それらの色はセルの背景になります。デフォルトは背景色なしです。

これが私がこれを行う方法を見つけた方法です。

于 2012-07-13T15:58:27.860 に答える