以前有几篇关于如何使用 geom_rect() 在 ggplot2 中制作阴影区域的文章,但没有一篇文章有助于以编程方式跨方面创建这些阴影区域。对于希望在面板数据中绘制特定于单位的时期的任何人,对我的问题的一个好的回答将非常强大和有帮助。
我能找到的最接近的 ggplot2 示例在这里,它在经济时间序列图中显示衰退的阴影区域,但我无法使这个策略与 facet_wrap 一起使用。
我想准确地制作这些类型的阴影区域,但是只要一个单元的虚拟变量等于 0(或 1),就可以通过编程方式跨越各个方面。
下面是使用 facet_wrap() 在 ggplot2 中绘制的面板数据的可重现示例。单位是固定的,时间是年。数据有一个称为“虚拟”的虚拟变量。我的问题是:如何为一个国家的“虚拟”等于 0 的单位特定时期创建阴影区域。通过暗示,这意味着当国家的虚拟等于 1 时显示无阴影区域。
任何帮助将不胜感激
require(plm)
data("Grunfeld", package="plm")
set.seed(888)
Grunfeld$dummy<-rbinom(200,1,prob=.3)
require(reshape2)
dfm <- melt(Grunfeld, id.vars=c("firm","year"))
require(ggplot2)
ggplot(dfm) +
geom_line(aes(x=year, y=value, linetype=variable, colour=variable)) +
theme_bw() +
facet_wrap( ~ firm)