2012-01-31 8 views
7

ベースRのhist()はパーセンテージを報告していません(そしてfreq = FALSE)も役に立たないので、私はlatticeになりました。ヒストグラムの格子

histogram(rnorm(10000)) 

次で私を助けてください:

  1. がどのように私は、プロットarroundのボックスを取り除くことができますか?
  2. x/yラベルとx/y軸のcexを個別に定義するにはどうすればよいですか?
  3. x軸とy軸にカスタム名を付けるにはどうすればよいですか?
+0

あなたはhist' 'であなたの悩みはただ好奇心から、何であるかについて詳しく説明することはできますか? 'freq = FALSE'を指定すると、密度(すなわちパーセンテージ)のヒストグラムが得られます。 – joran

+1

こんにちは@ジョラン。 ECIIが参照する可能性のある問題を表示するには、 'hist(runif(1000)、freq = FALSE、col = grey(.6))'を試してください。 y軸は確かに確率密度に注意しますが、各バー(密度の積と幅の積)の確率質量は10の棒があるので密度の10分の1程度でなければなりません...だから私は考える* ECIIは各棒グラフ内の観測値のパーセンテージを示す軸ダンプを求めています。 –

答えて

6

これはあなたが始める必要があります。

library(lattice) 
histogram(rnorm(10000),  
    main=list(
     label="Main plot title", 
     cex=1.5), 
    xlab=list(
     label="Custom x-axis label", 
     cex=0.75), 
    ylab=list(
     label="My very own y-axis label", 
     cex=1.2), 
    scales=list(cex=0.5), 
    par.settings = list(axis.line = list(col = 0)) 
) 

enter image description here

7

それとも、あなたはhist()に固執したい場合は、以下のように、あなたは、少しそれを変更することができます。

この関数は、戻り値を取得するためにhist()を1回呼び出します。これは、ヒストグラムの構造に関するあらゆる種類の有用な情報を含むオブジェクトです。次に、(a)ビンの幅と(b)各バーの密度を使用して、(c)各バーに入る観測のパーセンテージを計算する。

histPercent <- function(x, ...) { 
    H <- hist(x, plot = FALSE) 
    H$density <- with(H, 100 * density* diff(breaks)[1]) 
    plot(H, freq = FALSE, ...) 
} 

histPercent(rnorm(10000), col="dodgerblue", las=1, 
      xlab="Echs-axis", ylab="Why-axis") 

enter image description here

+0

すばらしい。私はそれがベースでは不可能だと思った。しかし、私はAndrieにそれを与える必要があります。どうもありがとうございました。 – ECII

+1

+1 for col = "dodgerblue" :-) – ECII

+0

私は軸ラベルも好きです。 –

関連する問題