Rを使用してx軸に不均一なスケールプロットをプロットする際に問題があります
次に例を示します。
plot(1:100,1:100)
x軸に等しい目盛りスペースを与えます。
しかし、前半のスペースが 1 から 10、左半分のスペースが 10 から 100 を示すようにグラフを表示したいので、10 から 100 の点が密になり、中の点1:10
が見やすくなります。Rでそれを行う方法は?
このような:
Rを使用してx軸に不均一なスケールプロットをプロットする際に問題があります
次に例を示します。
plot(1:100,1:100)
x軸に等しい目盛りスペースを与えます。
しかし、前半のスペースが 1 から 10、左半分のスペースが 10 から 100 を示すようにグラフを表示したいので、10 から 100 の点が密になり、中の点1:10
が見やすくなります。Rでそれを行う方法は?
このような:
対数軸の場合は、次を使用します。
plot(x,y,log="x") ## specifies which axis to put on log scale
使用する「目盛り」の数を決定するには、
par()$lab
デフォルトは5,5,7
です。より多くのx軸ラベルを配置するには、
par(lab=c(10,5,7))
そしてyの場合:
par(lab=c(5,10,7))
これは、完了するのが簡単な1回限りのタスクではありません。実際には、スケーリングされたデータに変換し、カスタムの目盛り付き軸を指定する必要があります。代わりにx軸を単にログに記録することを検討しなかった理由はありますか?(オプションplot(x, y, log='x')
を指定するとそれが行われます)。
あなたが説明したと思うのはこれです:
xnew <- ifelse(x<10, x, x/10)
plot(xnew, y, axes=FALSE, xlab='x')
axis(1, at=c(0, 10, 20), labels=c(0, 10, 100))
axis(2)
box()
log
x軸は次のようになります。
x<-1:100
y<-1:100
plot(log(x,base=10),y,axes=F)
axis(2)
axis(1,at=0:2,labels=10^(0:2))