是否可以為不同的圖層設定多個色階?
在下面的示例中,我通過對geom_pointwith使用填充美學來模擬我想要存檔的內容shape=21。
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 軸是沒有意義的。
編輯:我只能使用或多或少穩定的包,任何可能不再受支持或更改其界面的東西通常都不起作用。
uj5u.com熱心網友回復:
您對“穩定包”的要求有些含糊,聽說 CRAN 包不能滿足您的要求,我感到很驚訝。
目前沒有普通的 ggplot2 方式來實作你想要的,考慮到下面包的可用性,我認為這不太可能發生。
據我所知,截至今天(2021 年 12 月),“僅”三個包可用于為相同的美學創建多個比例。這些是
- 中繼包(維護者 Claus Wilke) - 不在 CRAN 上
- ggh4x 包(在 CRAN 上,維護者 Teun van den Brand)
- ggnewscale 包(在 CRAN 上,維護者 Elio Campitelli)
我經常使用后者并且從來沒有遇到過問題,所以我認為這對于您的簡單用例來說將是一個非常好的包。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/376437.html
上一篇:R:將兩個等值線圖組合在一起
