我将ggalluvial
与ggplot2
一起使用,但是,我希望能够在不附加ggalluvial
的情况下生成相同的图,而仅将其与ggalluvial::
一起指定。如果未附加,则会出现以下错误:Error: Can't find stat called "stratum"
。
d <- data.frame(
status = rep(c("state1","state2","state3"), rep(90, times=3)),
cellIndex = rep(seq_len(90), times=3),
cellCategory = c(rep(letters[seq_len(3)], each=30),
rep(letters[c(2,3,1)], each=30),
rep(letters[c(3,1,2)], each=30))
)
ggplot2::ggplot(data=d, ggplot2::aes(x=status, stratum=cellCategory, alluvium=cellIndex,
fill=cellCategory, label=cellCategory)) +
ggalluvial::geom_flow(stat="alluvium", lode.guidance="rightleft", color="darkgray") +
ggalluvial::geom_stratum() +
ggplot2::geom_text(stat="stratum", size=3)
最佳答案
这是一个艰难的过程-深入code for ggplot2,stat参数粘贴您提供的字符串,然后在您所处的环境中查找该对象(在本例中为“StatStratum”)。因为您不想加载程序包,它将无法找到它(并且无法更改参数本身)。
回答
因此,您需要从ggalluvial包中保存该对象,如下所示:
StatStratum <- ggalluvial::StatStratum
然后将其余的代码保持原样。