2013-12-19 13 views
7

これは簡単な質問です...私はRのベクトルからバープロットを作成しようとしていますが、y軸目盛りとラベルを付けて、値をログスケールで表示します。私は通常のバープロットをうまく作ることができますが、ログやラベルを使用しようとすると、物事が南になります。ここでログy軸スケールのRバープロットを作成するには?

は私の現在のコードです:

samples <- c(10,2,5,1,2,2,10,20,150,23,250,2,1,500) 
barplot(samples) 

[OK]を、これは動作します。次に、barplotのマニュアルに定義されているlog=""関数を使用しようとしましたが、決して動作しません。ここで私が試したいくつかの愚かな試みがあります:

barplot(samples, log="yes") 
barplot(samples, log="TRUE") 
barplot(log=samples) 

誰かが私を助けてくれますか?また、ラベルも素晴らしいでしょう。ありがとう!

+0

のために私は ' – Jota

+0

おかげでみんなが、これはあなたの助けと説明のために良い – jake9115

答えて

10

引数logは、軸が対数でなければならないを指定する1文字または2文字の文字列を必要とします。いいえ、バープロットのx軸が対数であることは意味を持ちませんが、これはすべての「ベース」グラフィックスで使用される一般的なメカニズムです。詳細は?plot.defaultを参照してください。

だから何をしたい私は目盛りとラベルのお手伝いをすることはできません

barplot(samples, log="y") 

ですが、私は、私は恐れてggplot年前のベースのグラフィックの上に投げたと振り返ることはありませんよ。

+0

感謝です(=「Y」ログ、サンプル)あなたはbarplot'を探していると思います。これはうまくいって、ggplotも調べます。 – jake9115

2

ggplot2で始めるといいでしょう。 scale_y_log10()関数内

d<-data.frame(samples) 
ggplot(data=d, aes(x=factor(1:length(samples)),y=samples)) + 
    geom_bar(stat="identity") + 
    scale_y_log10() 

あなたは休憩、ラベルなどを定義することができます。同様に、x軸にラベルを付けることができます。例

ggplot(data=d, aes(x=factor(1:length(samples)),y=samples)) + 
    geom_bar(stat="identity") + 
    scale_y_log10(breaks=c(1,5,10,50,100,500,1000), 
        labels=c(rep("label",7))) + 
    scale_x_discrete(labels=samples) 
関連する問題