使用R中的ggplot2填充堆叠区域图的图案

使用R中的ggplot2填充堆叠区域图的图案,r,ggplot2,plot,R,Ggplot2,Plot,我正在尝试用颜色和图案的组合开发一个堆叠区域图。我知道R在填充图案时有点受限。我试图查找,但只能找到patternplot,它仅限于条形图和饼图。非常感谢您的帮助 有关数据的详细信息: P1、P2、P3和P4给出了四个相位。每个阶段后面都有一个间隙(C)。y轴是概率(y轴) 在x轴上的一段时间(0至5秒)内,每个相位及其相应的间隙。相位为纯色,而间隙为45度散列模式。间隙图案的颜色遵循相应的相位。例如,在下图中,P1为纯灰色,因此间隙P1_C和将用灰色散列,以此类推 数据和当前进展: mydat

我正在尝试用颜色和图案的组合开发一个堆叠区域图。我知道R在填充图案时有点受限。我试图查找,但只能找到
patternplot
,它仅限于条形图和饼图。非常感谢您的帮助

有关数据的详细信息: P1、P2、P3和P4给出了四个相位。每个阶段后面都有一个间隙(C)。y轴是概率(y轴) 在x轴上的一段时间(0至5秒)内,每个相位及其相应的间隙。相位为纯色,而间隙为45度散列模式。间隙图案的颜色遵循相应的相位。例如,在下图中,P1为纯灰色,因此间隙P1_C和将用灰色散列,以此类推

数据和当前进展:

mydat= data.frame("1"=c(1,0,0,0,0,0,0,0), "2"=c(0,0.9,0.1,0,0,0,0,0),
"3"=c(0,0,1,0,0,0,0,0), "4"=c(0,0,0,0.6,0.25,0.15,0,0),
"5"=c(0,0,0,0,0,0.25,0.75,0), "6"=c(0.1,0,0,0,0,0,0,0.9))
rownames(mydat)=c("P1","P1_C","P2","P2_C","P3","P3_C","P4","P4_C")
colnames(mydat)=seq(0,5,1)
mydat=t(mydat)
mydat=mydat[,c(8,7,6,5,4,3,2,1)]
melted = melt(mydat, 1)
colnames(melted)=c("time","Phase","Probability")

ggplot(melted, aes(x = time, y = Probability, fill=Phase)) +
 geom_area()+
 scale_fill_manual(values=c("NA","deepskyblue","NA","darkblue","NA","lightgreen","NA","gray"))+
 scale_x_continuous("Time",limits=c(0,5), breaks = c(seq(0,5,1)),expand = c(0,0)) +
 scale_y_continuous("Probability", breaks = c(seq(0,1,0.1)), expand = c(0,0)) +
 coord_cartesian(ylim = c(0,1))+
 theme_bw()
目前,我已将间隙设置为
NA
,但最终我希望最终绘图如下所示。谢谢


关于ggplot2和模式,请参见此处的讨论:谢谢@kath。但我相信解决方案仅限于条形图。可能使用
gridSVG
或此处描述的内容:。感谢@Anonymouscoward提供的提示。我会努力的!