y軸で10倍のスケールしか得ようとしていないので、私は多くのアプローチをStackOverflowで提供していますが、y軸をパワー10の値でスケールするR
y軸のスケールを10^2から開始し、次のティックを10^4に、次に10^6に定義したいとします。
10^X ..
y軸で10倍のスケールしか得ようとしていないので、私は多くのアプローチをStackOverflowで提供していますが、y軸をパワー10の値でスケールするR
y軸のスケールを10^2から開始し、次のティックを10^4に、次に10^6に定義したいとします。
10^X ..
axis()
作品のために、私はxaxt
とat
とaxis
を試してみましたし、すべてがhereを述べたが、どれも仕事:
x <- 2:6
y <- 10^x
plot(x, y, yaxt = "n")
axis(2, at = 10^(c(2, 4, 6)))
唯一の問題はということですこれは確かにプレゼンテーションのための良い方法ではありません。あなたはどのくらい早く1e+n
が成長するか知っていますか?プロットですでに見てきたように、1e + 6と1e + 4のティックはほぼ一致しています。データの範囲が1 ~ 1e+8
以上であれば、ログスケールでプロットする方がよいでしょう。
plot(x, log10(y), yaxt = "n")
axis(2, at = c(2,4,6))
plot.default()
機能を容易にx軸、y軸、またはその両方の対数スケールを取得するために使用することができるlog
引数を提供します。たとえば、次のように
あなたは、y軸を使用すると、デフォルトの軸を無効にし、通常の方法で自分自身を描くことができ、ダニ制御したい場合:
## generate data
x <- 2:6;
y <- 10^x;
## precompute plot parameters
xlim <- c(2,6);
ylim <- c(10^2,10^6);
xticks <- 2:6;
yticks <- 10^seq(2L,6L,2L);
## draw plot
plot(NA,xlim=xlim,ylim=ylim,log='y',axes=F,xaxs='i',yaxs='i',xlab='x',ylab='y');
abline(v=xticks,col='lightgrey');
abline(h=yticks,col='lightgrey');
axis(1L,xticks,cex.axis=0.7);
axis(2L,yticks,sprintf('10^%d',as.integer(log10(yticks))),las=2L,cex.axis=0.7);
##axis(2L,yticks,sprintf('%.0e',yticks),las=2L,cex.axis=0.7); ## alternative
points(x,y,pch=19L,col='red',xpd=NA);
作業する人に[再現可能な例](http://stackoverflow.com/q/5963269/1217536)を提供してください。 – gung