4

ラティス xyplot の y 軸をパーセンテージ単位 (0.45 = 45% など) で表示できるようにしたいと考えています。

以下は、偽の工業プロセスの歩留まりデータの例です。

library(lattice)
set.seed(1234)
my.df <- data.frame(period=c(1:20),
                    n=floor(runif(n=20,min=40,max=80)),
                    d=rpois(n=20,lambda=5))
my.df$yield <- (my.df$n-my.df$d)/my.df$n
xyplot(yield~period,data=my.df)

プロット例

上記の y 軸ラベルを代わりに 80%、85%、90%、95% にしたい

私のyield変数は、範囲内の小数として表される分数です(0 <=利回り<= 1)。data.frame 内のデータを前処理する必要はありません (たとえば、100 を掛ける)。プロット アクションでこれを処理してもらいたいです。

4

1 に答える 1

7

yscale.componentsxyplotの引数に関数を指定できます(?xyplotおよびを参照?xscale.components.default)。パーセンテージ記号を追加するために使用sprintf()すると、インラインで 100 倍の乗算を実行できます。

xyplot(yield~period,data=my.df,
       yscale.components=function(...){
           yc <- yscale.components.default(...)
           yc$left$labels$labels <-
               sprintf("%s%%",yc$left$labels$at*100) ## convert to strings as pct
           return(yc) 
       })

プロット例

于 2013-03-27T16:48:38.717 に答える