![](/img/trans.png)
[英]ggplot2: Multiple color scales or shift colors systematically on different layers?
[英]different color scales for same aesthetic in different layers in ggplot2, without unstable packages
是否可以為不同的圖層設置多個色階?
在下面的示例中,我通過對shape=21
的geom_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.