我有一個ggplot酒吧陰謀與分組酒吧。每個x值有4個小節,並且條形填充,顏色和alpha由數據中的變量確定。我希望我的傳奇能夠精確地反映情節中酒吧的外觀。不幸的是,我沒有足夠的聲譽後我的陰謀的照片,但這裏是我的代碼:如何使ggplot圖例完全反映酒吧的外觀
ggplot(all_frame_freq, aes(x = Frame, y = prop_type, group = interaction(speaker,Type), fill = Type, color = Type, alpha = speaker)) +
geom_bar(position = "dodge", stat="identity") +
scale_fill_manual(values = c("#E41A1C","#377EB8"), name="Type", labels=c("A","B")) +
scale_color_manual(values = c("#E41A1C","#377EB8"), guide=FALSE) +
scale_alpha_manual(values = c(.2, 1), name="speaker", labels=c("1", "2"))
這就造成周圍所有的酒吧一條線,但該行僅顯示周圍的酒吧,在那裏阿爾法是< 1.因此,該圖顯示爲帶有輪廓的黑色條和沒有輪廓的黑色條。 (我發現這比簡單的明暗條更容易看)。我希望圖例能夠反映出這一點,以便揚聲器1的圖例框出現時帶有相應條形的輪廓。但是,目前揚聲器圖例只顯示1灰色的淺灰色框和2灰色的深灰色框,我無法弄清楚如何僅在淺灰色框中添加一條線。有沒有辦法做到這一點?我得到的最接近的是
theme(legend.key = element_rect(color = 'black', size = 0.5))
但是,它在所有圖例框中添加了一行。有沒有辦法將它添加到alpha圖例中的一個框中,或者(可能更簡單)添加到alpha圖例中,在那裏我可以設置線條顏色以匹配較暗的框?我一直在嘗試各種方法,並在相當長的一段時間內尋找想法,但還沒有找到合適的解決方案。
我的數據的樣品 - 正確格式化此時間:
structure(list(Type = structure(c(1L, 1L, 2L, 2L, 1L, 1L, 2L,
2L), .Label = c("A", "B"), class = "factor"), Frame = structure(c(1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("V CP", "V NP"), class = "factor"),
prop_type = c(0.209513024, 0.138731597, 0.017167382, 0.387528402,
0.437998087, 0.144086707, 0.042695836, 0.398376853), speaker = structure(c(1L,
1L, 2L, 2L, 1L, 1L, 2L, 2L), .Label = c("Speaker1", "Speaker2"
), class = "factor")), .Names = c("Type", "Frame", "prop_type",
"speaker"), class = "data.frame", row.names = c(NA, -8L))
你知道,我們沒有你的數據all_frame_freq,所以我們無法重新創建你的圖片。請輸入'dput(all_frame_freq)'並將輸出粘貼到您的問題中,向我們顯示數據。 – G5W
我的不好 - 剛剛添加。 – Ed2122
請提供一個可重現的例子,「添加的數據」是不可重現的。有關幫助,請參閱[這裏](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 –