簡體   English   中英

ggplot2中不同層的相同美學的不同色階,沒有不穩定的包裝

[英]different color scales for same aesthetic in different layers in ggplot2, without unstable packages

是否可以為不同的圖層設置多個色階?

在下面的示例中,我通過對shape=21geom_point使用填充美學來模擬我想要歸檔的內容。

library(tidyverse)

test <- tibble(
  x=c(1:4, 1:4),
  y=c(1:4, 2:5),
  a=factor(c("a", "a", "b", "b", "a", "a", "b", "b")),
  A=factor(c("A", "A", "A", "A", "B", "B", "B", "B"))
)

ggplot(test, aes(x=x, y=y)) + 
  geom_line(aes(colour=A), size=2) +
  geom_point(aes(fill=a), shape=21, colour=rgb(1,1,1,0), size=4) + 
  scale_fill_manual(
    values = c(a="red", b="blue"),
  ) + 
  scale_colour_manual(
    values = c(A="green", B="yellow"),
  )

為什么這很有用? 一個例子是:您使用不同的測量方法(第二個色標)針對不同的測量單位(第一個色標)隨時間 (x) 測量一個數量 (y)

在這種情況下,我可以使用示例中的解決方法,但我認為這通常很有趣。

當然,對於不同的層具有不同的比例對所有層都沒有意義,在大多數情況下,以對數方式縮放一層的 x 軸而以線性方式縮放另一層的 x 軸是沒有意義的。


編輯:我只能使用或多或少穩定的軟件包,任何可能不再受支持或更改其界面的東西通常都不起作用。

您對“穩定包”的要求有些模糊,聽到 CRAN package 無法滿足您的要求,我感到很驚訝。

目前沒有香草 ggplot2 方法來實現您想要的,並且鑒於以下軟件包的可用性,我認為這不太可能實現。

據我所知,截至今天(2021 年 12 月),“只有”三個軟件包可用於為相同的美學創建多個音階。 這些是

我經常使用后者並且從來沒有遇到過問題,所以我認為對於您的簡單用例來說,這將是一個非常好的 package。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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