> 出勤前にふと思いついて,trux.Rというコードを書いてみた。これで問題なければ,人口ピラミッド描画パッケージのデフォルト横軸目盛設定アルゴリズムはこれに変えようと思う。
trux <- function(X) {
SC <- 10^as.integer(log10(X)-1)
MX <- (X %/% (6*SC))*SC*2
return(0:4*MX)
}
> trux(132)
[1] 0 40 80 120 160
> trux(495)
[1] 0 160 320 480 640
> trux(8734)
[1] 0 2800 5600 8400 11200
> trux(13044050)
[1] 0.0e+00 4.0e+06 8.0e+06 1.2e+07 1.6e+07
> trux(94822324)
[1] 0.0e+00 3.0e+07 6.0e+07 9.0e+07 1.2e+08
R には pretty という関数が用意されているので,そちらを使うほうがよさそうに思えるのだけど。
コメントは twitter でというようになっているんだけど,私は twitter やんないので。誰か,中澤さんに聞いてみて。
> pretty(c(0, 132))
[1] 0 20 40 60 80 100 120 140
> pretty(c(0, 495))
[1] 0 100 200 300 400 500
> pretty(c(0, 8734))
[1] 0 2000 4000 6000 8000 10000
> pretty(c(0, 13044050))
[1] 0.0e+00 2.0e+06 4.0e+06 6.0e+06 8.0e+06 1.0e+07 1.2e+07 1.4e+07
> pretty(c(0, 94822324))
[1] 0e+00 2e+07 4e+07 6e+07 8e+07 1e+08
ラベルの数は n で指定できるが,必ず指定した数になるわけではない。
> pretty(c(0, 13044050), n=3)
[1] 0.0e+00 5.0e+06 1.0e+07 1.5e+07
その他の引数もある。
pretty()知りませんでした。
確かにこれの方が良い感じですね。