予想される行動
ggplot2でプロットを作成し、たとえば形状と塗りつぶしのスケールを別々に使用してデータを描写する場合、凡例は「白」の塗りつぶされた点(中空に見える)と「黒」の塗りつぶされた点(見えない)の間を描くと予想されます。中空)。
以下のサンプルコードでは、Windowsの凡例項目は白い中空ポイントであり、Linuxの凡例項目は黒で塗りつぶされた点である必要があります。
実際の動作
「オペレーティングシステム」の下の凡例項目は、グラフ上に異なる塗りつぶしでポイントが明確に描かれている、明らかに異なるオペレーティングシステムの2つの視覚的に同一のポイントを示しています。以下のサンプルコードでは、WindowsとLinuxの両方が、プロット自体に適切に異なってプロットされていても、凡例では区別できない黒い中空ポイントとして表示されます。
サンプルプロット
サンプルコード
library(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
セッション情報
R 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