2013-04-20 10 views
23

バープロットを生成しようとしていますが、y軸スケールが短すぎます。ここに私のコードです:RバープロットY軸スケールが短すぎます

barplot(as.matrix(dat), log="y", ylim=c(10000,100000000), beside=TRUE, 
     ylab = "Number of reads", col = c("gray","black","white")) 

short y axis

それは(YLimプロパティごとに)軸の余地はなく、実際の軸に記入していません。私は?barplotを通り抜けていくつか試しました(私はxpd = F, yaxs = c(10000,10000000,5がうまくいくと思っていましたが、グーグルではありませんでした)。

私はそれがちょっとしたことだと知っていますが、実際に働いているのではなく、私が年を重ねている問題のようなものです。

編集: 入力仲間のための乾杯!

私は最初にイルミムなしでプロットしましたが、それはさらに奇妙な軸で終わります(同じ問題があります)。私は実際に私のylim値を選んで、より良い間隔の軸にしました。 original no ylim

ここではデータがあります:

dat <- read.table(text="D2,D3n,D3m,D4n,D4m 
21234722,34262282,31920464,25486357,20712943 
35343,64403,22537,39934,46547 
126646,312286,101105,81537,76944", header=TRUE, sep=",") 

編集2: @DWinはそれが右の持っていた - 私は私のRを更新し、今では細かいプロット - おかげでみんなを!

+0

は ' – Nishanth

+2

あなたが' dat'を投稿することができ 'ログ(y)をプロットするために、その方がよいです。コードを実行できるようにします。 – Nishanth

+1

Hmm。私はより長いlog10のy軸を得る。 1e + 08に上がります。 MacOS、Snow LeopardでR 3.0.0を実行しています。あなたの設定が何であるか教えてください。古い場合は更新してください。私はまたあなたのプロットが非常に誤解を招くと思います。 –

答えて

26

ylimを設定しようとしましたが、悪い値を与えています。

par(mfrow=c(2,1)) 
tN <- table(Ni <- stats::rpois(100, lambda = 5)) 
r <- barplot(tN, col = rainbow(20),ylim=c(0,50),main='long y-axis') 
r <- barplot(tN, col = rainbow(20),main='short y axis') 

enter image description here

別のオプション軸なしでプロットし、axisusrを使用して手動で設定することです:

これは、この参照例(ズームなど)プロットのスケールを変更します
require(grDevices) # for colours 
par(mfrow=c(1,1)) 
r <- barplot(tN, col = rainbow(20),main='short y axis',ann=FALSE,axes=FALSE) 
usr <- par("usr") 
par(usr=c(usr[1:2], 0, 20)) 
axis(2,at=seq(0,20,5)) 

enter image description here

+1

彼は 'ylim'を不適切な値に設定しました。 –

+0

@MatthewLundberg私の悪い!私はこれを見ていない! – agstudy

-3
barplot(data) 

enter image description here

barplot(data, yaxp=c(0, max(data), 5)) 

​​

yaxpの= Cの(minYの軸、MAXY-軸間隔)

+0

これはR 3.3.2では機能しません。 –

+0

私はY軸を最大にスケーリングするのがデフォルトではないのだろうかと思います。各バーの上にバーの高さを置くと、最大高さのバーのテキストがクリップされます。この変形を考えてみましょう: p < - barplot(。マトリックス(dat)、ylab = "読み取り回数"、col = c( "gray"、 "black"、 "white")); y < - lapply(dat、FUN = max); テキスト(x = p、y = y、labels = y、col = "red"、pos = 3) –

関連する問題