【发布时间】:2017-01-04 07:06:36
【问题描述】:
我正在阅读 Hadley Wickham 的 ggplot2 book,并希望让 cmets 了解我对其中一个练习的解决方案:
第 6.5.1 节
练习一
以下代码创建了 mpg 数据集的两个图。修改代码,使图例和轴匹配,而不使用分面!
fwd <- subset(mpg, drv == "f")
rwd <- subset(mpg, drv == "r")
ggplot(fwd, aes(displ, hwy, colour = class)) + geom_point()
ggplot(rwd, aes(displ, hwy, colour = class)) + geom_point()
ggplot(fwd, aes(displ, hwy, colour = class)) +
geom_point() +
lims(x = c(0, 7), y = c(0, 45)) +
geom_point(aes(colour = class), alpha = 0, data = mpg) +
guides(colour = guide_legend(override.aes = list(alpha = 1)))
ggplot(rwd, aes(displ, hwy, colour = class)) +
geom_point() +
lims(x = c(0, 7), y = c(0, 45)) +
geom_point(aes(colour = class), alpha = 0, data = mpg) +
guides(colour = guide_legend(override.aes = list(alpha = 1)))
【问题讨论】:
-
解决方案的问题:它会影响轴限制。它创造了不可见的点。这些使输出文件变得混乱,并且某些设备存在 alpha 透明度问题。从概念上讲,添加新数据以实现数据集的不同表示不能成为 ggplot2 中的解决方案。这样的解决方案不符合图形语法。