2017-08-15 14 views
1

マイデータとの3つの量:形状変更やプロット次のようにCOMMUNラベル(geom_text)

k2=structure(list(Hour = c("17:02:00", "17:04:00", "17:07:00", "17:13:00", 
"17:14:00", "17:17:00", "17:19:00", "17:22:00", "17:28:00", "17:29:00" 
), Cat1 = c(300L, 304L, 272L, 171L, 271L, 376L, 284L, 177L, 218L, 
284L), Cat2 = c(15L, 45L, 36L, 31L, 36L, 26L, 26L, 32L, 46L, 
32L), Cat3 = c(850L, 1073L, 612L, 537L, 709L, 929L, 870L, 452L, 
474L, 696L), Label = c("BA", "EL", "BA", "CI", "MO", 
"BA", "EL", "BA", "CI", "RO")), .Names = c("Hour", 
"Cat1", "Cat2", "Cat3", "Label"), row.names = c("163", "164", 
"165", "167", "168", "169", "170", "171", "173", "174"), class = "data.frame") 

私は次のようにプロットの簡単な質問とスタックしています:Xは、時間を発現する、およびYは、それぞれの数量をcumulますCat1,Cat2,Cat3。指定された時間の間、3つの量は同じLabelを持ちます。 私は次のように私のデータを再構成しましたが、私はgeom_text = Labelを各猫に持っていて、3人は同じLabelを持っているのでOKではありません。

k2$Hour=format(k2$Hour, format='%H:%M:%S') 
meltk2 = melt(k2, id = c("Hour","Label")) 
meltk2$Hour <- as.POSIXct(paste("2012-11-03", meltk2$Hour, "CEST")) 

ggplot(meltk2, aes(x=Hour , y = value, group = Hour, colour = variable)) + 
     geom_bar(stat = "identity") + 
     scale_x_datetime(breaks=date_breaks("1 hour"), labels=date_format("%H:%M:%S")) + 
     geom_text(aes(label = as.character(Label)), position = position_dodge(width = 0.8), vjust = -0.6) 

これを行うにはどのような方法が最適ですか?

答えて

2

タイムスタンプごとに1つの共通ラベルしか表示しないことを意味しますか?数にgeom_text」SY値を変更すると、効果的に一つだけを示し、同じ場所にすべての3つのラベルを設定します:

ggplot(meltk2, aes(x=Hour, y = value, group = Hour, fill = variable)) + 
    geom_bar(stat = "identity") + 
    scale_x_datetime(breaks=date_breaks("1 hour"), labels=date_format("%H:%M:%S")) + 
    geom_text(aes(label = as.character(Label)), y=0, vjust = 1) 

(私はyが下部にラベルを配置する= 0の設定あなたは、いくつかを選択することもできます。他の高さ)

stacked plot

あなたはバーが()PoGibas'答えは1と積み重ねることがしたくない場合:。

ggplot(meltk2, aes(x=Hour, y = value, fill = variable)) + 
    geom_bar(stat = "identity", position="dodge") + 
    scale_x_datetime(breaks=date_breaks("1 hour"), labels=date_format("%H:%M:%S")) + 
    geom_text(aes(label = as.character(Label)), y=0, vjust = 1) 

dodged plot

関連する問題