[英]Don't show shape in color legend in a 2 legend plot (R ggplot2)
在我有 2 個圖例(一個用於形狀,一個用於顏色)的情節中,我的老板發現顏色圖例已經選擇了其中一種形狀令人困惑。 一個例子:
a <- data.frame(name = c("A","B","C","D"),
type = c("dog","dog", "cat", "cat"),
location = c("house", "house", "house", "garden"),
count = c(3,1,5,8))
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)
產生以下內容:
在此示例中,“位置”圖例通過顯示彩色圓圈來解釋顏色(但圓圈也表示貓,這顯然令人困惑)。 如何強制“位置”圖例僅顯示顏色,而不是形狀? 也許將位置顯示為紅色和藍色矩形會比較理想。
您可以使用函數guides()
和override.aes=
將顏色圖例的形狀更改為矩形。 然后您可以使用theme()
從圖例鍵中刪除背景以獲得更好的外觀。
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)+
guides(color=guide_legend(override.aes=list(shape=15)))+
theme(legend.key=element_blank())
要刪除形狀圖例,您可以執行以下操作:
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7) +
guides(shape=FALSE)
這將刪除形狀圖例,但我不確定更改顏色圖例中的形狀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.