簡體   English   中英

不要在 2 圖例圖 (R ggplot2) 中的顏色圖例中顯示形狀

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM