2017-09-04 5 views
1

現在、私はRに含まれている "diamond"というデータセットに取り組んでいます。特に、ダイヤモンド価格605を強調しようとしています。ggplotの特定の値を持つ特定のバーを強調表示

library(ggplot2) 

ggplot(diamonds) + 
geom_histogram(aes(x=price), 
      binwidth = 10, 
      breaks = seq(250, 1000, 10), 
      color = "black") + 
scale_fill_manual(values = c("[250,590]" = "#FF0000", "[600,610]" = "#FF9999", "[620,1000]" = "#FF0000")) 

私は、特定の間隔で埋めるほか、右のすべてを取得するように見えた:)

私のコードは次のようです。

私は本当に助けに感謝します。ありがとう!

答えて

1

あなたは `のFreqは==最大(FREQ)`の後で、おそらく最高ggplot` `の外で計算されているものOP対応するためにトリッキーな部分であることを設定cut

#Use cut to divide price into groups and table to count frequency of each group 
temp = data.frame(table(cut(x = diamonds$price, breaks = seq(250, 1000, 10)))) 
ggplot(diamonds) + 
    geom_histogram(
     aes(x = price), 
     binwidth = 10, 
     breaks = seq(250, 1000, 10), 
     color = "black", 
     #For the group with maximum value, assign red, otherwise assign black 
     fill = replace(rep("black", NROW(temp)), which.max(temp$Freq), "red")) 

enter image description here

+1

を使用することができます。 –

+0

ありがとう、それは動作します。私はちょうど質問があります、なぜあなたは "一時"を作成する必要がありましたか? –

+0

@ChristophP。、 'geom_histogram'はブレークを作成し、ブレークごとにカウントをプロットします。私は 'ggplot'の外で同じことをするために' cut 'を使って 'temp'を作成しました。これにより、最も高い数のブレークを識別しやすくなりました。 –

関連する問題