r-不同的色阶在ggplot2的不同层中实现相同的美学,没有不稳定的封装

  • 本文关键字:不稳定 封装 ggplot2 实现 r ggplot2
  • 更新时间 :
  • 英文 :


是否可以为不同的层使用多个色标?

在下面的示例中,我通过使用geom_pointshape=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轴是没有意义的。


编辑:我只能使用或多或少稳定的软件包,任何可能不再受支持或更改其接口的软件包通常都无法工作。

您对"稳定包装";有点含糊,我很惊讶地听说CRAN包不能满足你的要求。

目前还没有普通的ggplot2方法来实现你想要的,考虑到下面包的可用性,我认为这不太可能实现。

截至今天(2021年12月(,据我所知;仅";三个可用的包,允许为相同的审美创造一个以上的尺度。这些是

  • 继电器包(维护人员Claus Wilke(-不在CRAN上
  • ggh4x软件包(在CRAN上,维护人员Teun van den Brand(
  • ggnewscale包(在CRAN上,维护人员Elio Campitelli(

我经常使用后者,从未遇到过问题,所以我认为这将是一个非常适合您的简单用例的包。

最新更新