Por que a legenda ggplot2 não combina valores de preenchimento e escala manuais?
Se eu criar uma plotagem com ggplot2 e usar escalas separadas, digamos, de forma e preenchimento para delinear dados, eu esperaria que a legenda delineasse entre pontos preenchidos "brancos" (que parecem ocos) e pontos preenchidos "pretos" (que não parecem oco).
No código de exemplo abaixo, o item de legenda do Windows deve ser um ponto oco branco e, para o Linux, deve ser um ponto preenchido preto
Comportamento RealOs itens da legenda em "Sistema operacional" descrevem dois pontos visualmente idênticos para sistemas operacionais claramente diferentes cujos pontos são claramente desenhados com preenchimentos diferentes no gráfico. No código de exemplo abaixo, tanto o Windows quanto o Linux aparecem como pontos ocos negros indistinguíveis na legenda, mesmo que eles estejam apropriadamente plotados de maneira diferente no próprio enredo.
Amostra de LoteCódigo de amostralibrary(ggplot2)
x <- rnorm(n = 30)
y <- rnorm(n = 30)
treatment <- rep(c("red", "green", "blue"), times = 20)
operatingSystem <- rep(c("Windows", "Linux"), times = 30)
dd <- data.frame(x, y, treatment, operatingSystem)
fillScaleValues <- c(
"Windows" = "white",
"Linux" = "black"
)
shapeScaleValues <- c(
"red" = 21,
"green" = 22,
"blue" = 23
)
p <- ggplot(
aes(x = x,
y = y,
shape = factor(treatment),
fill = factor(operatingSystem)
), data = dd
)
p <- p + geom_point()
p <- p + scale_fill_manual(values = fillScaleValues, name = "Operating System")
p <- p + scale_shape_manual(values = shapeScaleValues, name = "Treatment")
p
Informações da SessãoR version 2.15.1 (2012-06-22)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] C/en_US.UTF-8/C/C/C/C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_0.9.2.1 reshape2_1.2.1 plyr_1.7.1 ProjectTemplate_0.4-2
[5] testthat_0.7
loaded via a namespace (and not attached):
[1] MASS_7.3-21 RColorBrewer_1.0-5 colorspace_1.1-1 dichromat_1.2-4
[5] digest_0.5.2 evaluate_0.4.2 grid_2.15.1 gtable_0.1.1
[9] labeling_0.1 memoise_0.1 munsell_0.4 proto_0.3-9.2
[13] scales_0.2.2 stringr_0.6.1 tools_2.15.1