2016-12-26 16 views
2

では、私は、ヒストグラムに次のデータを得ることができる方法を理解するのに苦労しています:それぞれの数は正確に同じ順序で1つのバーを表している必要があります- ヒストグラムR

NSP <- c(1380, 6003, 1827, 661, 331, 156, 97, 73, 58)
hist(NSP)

。私はggplotを使用しようとしましたが、Y軸の周波数を取得できませんでした。

事前に感謝します。

答えて

3

あなたはggplot2を使用しようとしている場合は、おそらくgeom_colをしたいです。バーのx位置を指定する必要があることに注意してください。ここでは、私はちょうどseq_alongを使用して1:length(NSP)としてそれらを指定しています:

ggplot(
    mapping = aes(y = NSP 
       , x = seq_along(NSP))) + 
    geom_col() + 
    scale_x_continuous(breaks = seq_along(NSP)) 

enter image description here

あなたが休憩のために他のラベルを持っている場合は、あなたがそれらを指定することができ、例えば:

ggplot(
    mapping = aes(y = NSP 
       , x = seq_along(NSP))) + 
    geom_col() + 
    scale_x_continuous(breaks = seq_along(NSP) 
        , labels = LETTERS[seq_along(NSP)]) 

enter image description here

しかし、ggplotは、通常、あなたのd ataはdata.frameにあります。これにより、より柔軟なアプローチが可能になり、列の位置をより簡潔に指定することができます(たとえば、列の間隔が均等でない場合、実際の位置に1つの列を、ラベルに1つの列を持つことができます)。

NSP_df <- data.frame(Location = LETTERS[seq_along(NSP)] 
        , Count = NSP) 

ggplot(
    NSP_df 
    , aes(y = Count 
     , x = Location)) + 
    geom_col() 

enter image description here

+0

どうもありがとう!私はこれを試し、それがうまくいくかどうかを知らせます! – Bonsaibubble

+0

しかし、私はA、B、C、Dをどのように記述し、それらの名前を付けますか?あなたもそれを知っていますか?どうもありがとう! – Bonsaibubble

+0

まったく同じ方法で文字を追加しました。 'LETTERS [seq_along(NSP)]'をあなたが使いたいラベルに置き換えてください。 –

1

多分あなたが望むのはbarplot(NSP)ですか?

R plot output

関連する問題