2017-01-09 32 views
3

私はgeom_barを使ってggplot2でいくつかの基本的な棒グラフを生成しています。私は数値が各バーの上に同じ色で表示されるようにしたいと私はgeom_textを使用しています。私はscale_fill_manual(values = alpha(c("#000000", "#FF5733")))を使ってバーを埋めています。私が抱えている問題は、バーの上のテキストがカスタムカラーリングに変わらないということです。デフォルトのR色は残ります。Rのggplot2のgeom_textでフォントの色を変更するには?

library(ggplot2) 
Area <- c("Option1", "Option2", "Option3") 
Count <- c(193, 56, 4,240, 10, 25) 
Type <- c("car", "car", "car", "bike", "bike", "bike") 
p <- data.frame(Area, Count, Type) 

ggplot(p, aes(x=Area, y=Count, color=Type)) + 
     geom_bar(stat="identity", position="dodge", aes(fill=Type), color="black") + 
     scale_fill_manual(values = alpha(c("#000000", "#FF5733"))) + 
     geom_text(aes(label=Count), position=position_dodge(width = 0.9), vjust=-0.40) 

私は無駄に次のことを試してみました:私は単なるテキストの黒を持っていることができれば、私はそれを受け入れ、上に移動することを決めた1点で

  1. 、しかしとき私はこれを行いました。ポジショニングは失敗し、それぞれのバーの上にテキストを保持する代わりに、両方のテキストを単一の「Option」の中心に配置しました。

    geom_text(AES(ラベル= COUNT)、色= "黒"、位置= position_dodge(幅= 0.9)、vjust = -0.40)、そして私はこの試み

  2. geom_text(AESを(ラベル=カウント、カラー= cで( "#000000"、 "#1 FF5733"))、位置= position_dodge(幅= 0.9)、vjust = -0.40)

私はこの調整で次のエラーを取得します:エラー:美学は長さ1またはデータ(6)と同じでなければなりません:ラベル、色、x、y

これは、6本の棒がありますが、2色しか指定されていないためです。しかし、私が4回以上色を追加すると、それは私が望むものからさらに遠ざかります。

画像を投稿しようとしましたが、ポイントがまだありません。ごめんなさい!

ご協力いただきありがとうございます。

Rバージョン3.2.3(2015年12月10日)
プラットフォーム:x86_64版 - リンゴ - darwin13.4.0(64ビット)
の下で実行:OS X 10.11.6(エルキャピタン私はRStudioを実行しています)
[1] ggplot2_2.1.0

平和。

答えて

1

てみgeom_text美的マッピングにcolourオプションを追加し、scale_colour_manual

ggplot(p, aes(x=Area, y=Count, color=Type)) + 
     geom_bar(stat="identity", position="dodge", aes(fill=Type), color="black") + 
    scale_fill_manual(values = alpha(c("#000000", "#FF5733"))) + 
    geom_text(aes(label=Count, colour=Type), 
      position=position_dodge(width = 0.9), 
      vjust=-0.40) + 
    scale_colour_manual(values=c("#000000", "#FF5733")) 
+0

これは素晴らしいですし、問題を解決してTypeの2倍の水準にカスタム色を割り当てます。私は手動でスケールの色を設定するとは思わなかった。 – Jess

関連する問題