1

ボックスプロットの対数変換された y 軸に独自のラベルを付けたいと思います。

with(TX, boxplot(b~tx, ylab="Biomass, g/m2, ln", yaxt="n", las=2, log="y", cex.axis=0.7))

データ:

pretty(log(TX$b))

[1] -6 -4 -2  0  2  4  6

length(levels(TX$tx))

[1] 22

私は試した:

axis(2, at=pretty(log(TX$b)), labels=pretty(log(TX$b))) and 

axis(2, at=c(-6, -3, -1, 0, 1, 3, 6), labels=c(-6, -3, -1, 0, 1, 3, 6)), 

ただし、どちらの場合も、正の値 (および対応するティック!) のみが表示されます。理由は何ですか?どうすれば修正できますか?

4

1 に答える 1

1

を使用して plot の呼び出しで y 変数を変換しましたlog = 'y'

これはat、変換されていないスケールの値としてコンポーネントを渡すことを意味します。

axis(2, at= exp(c(-6, -3, -1, 0, 1, 3, 6)), labels=c(-6, -3, -1, 0, 1, 3, 6))

再現可能な例

set.seed(1)
TX <- data.frame(tx = gl(2,3), y= rlnorm(600, mean = -1, sd = 3))
boxplot( y~tx, data = TX, log = 'y',yaxt="n", las=2,  cex.axis=0.7)
axis(2, at= exp(c(-6, -3, -1, 0, 1, 3, 6)), labels=c(-6, -3, -1, 0, 1, 3, 6))

ここに画像の説明を入力

于 2012-12-06T03:02:25.447 に答える