【发布时间】:2017-12-28 17:17:42
【问题描述】:
不确定标题是否恰当地解释了我的问题:使用 facet wraps,我有一个图是其他图的摘要,这导致该图在我绘制颜色的变量上具有更高的值。因此,所有其他图只显示(大部分)一种颜色:Example graph。
我希望着色更依赖于非汇总图,而我不太关心汇总图是否由于包含高值而最终仅显示一种颜色(尽管较低的值仍应显示适当的颜色)。感谢您的帮助。
示例代码:
library(gdata)
library(viridis)
library(ggplot2)
summary <- data.frame(x = 1:15, y = runif(15), z = runif(15, min = 15, max = 200))
dat2 <- data.frame(x = 1:15, y = runif(15), z = runif(15, min = 0, max = 30))
dat3 <- data.frame(x = 1:15, y = runif(15), z = runif(15, min = 0, max = 30))
dat4 <- data.frame(x = 1:15, y = runif(15), z = runif(15, min = 0, max = 30))
dat <- combine(summary, dat2, dat3, dat4)
p <- ggplot(dat, aes(x = x, y = y)) +
geom_point(aes(color = z)) +
scale_color_viridis(option = "magma") +
theme(panel.background = element_rect(fill = "grey93"),
strip.background = element_blank(),
panel.grid = element_blank(),
panel.border = element_rect(fill = NA, colour = "black", size = 0.5, linetype = "solid"))`
p1 <- p + facet_wrap(~source)
【问题讨论】:
-
如果您只是将那些
summary行的z的分数设置为0 可以吗?如果是这样,请在运行ggplot()代码之前运行此行:dat <- mutate(dat, z = if_else(source == "summary", 0, z)) -
很遗憾没有,因为这些值仍然是有趣的信息,虽然我预计大多数值会相当高,但有些可能会更低。