2017-08-11 5 views
0

で重複するラベルを削除私のデータは次のようになります。はgeom_text

ggplot(aes(x = composerName, y = id, fill = season, label = composerName), data = music)+ 
    geom_bar(stat = 'identity')+ 
    geom_text(angle = 90, position = position_dodge(width = 1), hjust = -.1) 

これを与える:私のコードは次のようになり

composerName    season Location Time Venue eventType id conductorName interval movement workTitle 
1 Anthem,     1918-19  55 55 55  55 55   55  55  55  55 
2 Beethoven, Ludwig van 1912-13  37 37 37  37 37   37  37  37  37 
3 Beethoven, Ludwig van 1915-16  38 38 38  38 38   38  38  38  38 
4 Beethoven, Ludwig van 1919-20  38 38 38  38 38   38  38  38  38 
5 Beethoven, Ludwig van 1920-21  36 36 36  36 36   36  36  36  36 
6 Beethoven, Ludwig van 1921-22  44 44 44  44 44   44  44  44  44 

enter image description here

私がしたいです各シーズンのレーベルではなく、コンポーザーごとに1つのラベルのみを含めるようにしてください。重複したラベルを削除するにはどうすればよいですか?

+1

をあなたが作曲ごとにラベルを持っていると 'geom_text(データ=にそれを渡す新しいdata.frameを作成します。 ..) '。 –

+0

など。 'geom_text(data = dplyr :: distinct(music、composerName))'は動作するはずです。また、 'geom_bar(stat =" identity ")' – Axeman

+0

@Axemanの代わりに 'geom_col'を使用して'エラー:ggprotoオブジェクトを一緒に追加できません。このオブジェクトをggplotオブジェクトに追加することを忘れましたか? ' – snapcrack

答えて

0

はそれを考え出した:私はgeom_text()stat = 'identity'を含めるために必要な:

ggplot(aes(x = composerName, y = id, fill = season, label = composerName), data = music)+ 
    geom_bar(stat = 'identity')+ 
    geom_text(stat = 'identity', angle = 90, 
      position = 'identity', hjust = -.2, check_overlap = TRUE) 

enter image description here