我正在进行一项研究,我想让我们用ggplot2
中的facet_grid
来显示结果.
我的测试数据可以在这里找到text
数据有六列:AusFall Rate(MissingRate)、PFC_MCA、PFC_HEAT、PFC_MODE、AnzahlI(I的数量)、AnzahlJ(J的数量)
我需要将变量PFC_MCA、PFC_HOT、PFC_MODE绘制为MissingRate的x值上的y值(用连接的线绘制散点图).
AnzahlI和AnzahlJ各有3个级别,因此有9个可能的组合,并被用作刻面.我必须用facet_grid
来绘制9个组合中每一个的散点图.
This is basically the outcome I´m looking for. (The actual data in my testdate is identical for all 9 combinations, so the plots are identical)
这样做的问题是我不能得到ggplot2
来打印图例.
此图是使用以下命令创建的
p<-2.5 #PointSize
lineweight<-0.8 #Lineweight
ggplot(test_outputdata,
aes(x=Ausfallrate))+
geom_point(aes(y=PFC_MCA),color="red",pch=15,cex=p)+
geom_line(aes(y=PFC_MCA), color="red",linetype="solid",lwd=lineweight) +
geom_point(aes(y=PFC_Hot),color="blue", pch=16,cex=p)+
geom_line(aes(y=PFC_Hot), color="blue",linetype="dashed",lwd=lineweight) +
geom_point(aes(y=PFC_Mode),color="black",pch=17,cex=p)+
geom_line(aes(y=PFC_Mode), color="black",linetype="dotdash",lwd=lineweight) +
facet_grid(AnzahlJ~AnzahlI,
#Umbenennen bzw richtig schreiben der Labels
labeller = labeller(
AnzahlJ = c(`3` = "J=3", `6` = "J=6", `10` = "J=10"),
AnzahlI= c(`100` = "I=100", `500` = "I=500", `1000` = "I=1000"),
)
)+
labs(y= "PFC")+
ggtitle("MCAR")
我发现这和aes()
的功能有关.让我们暂时忽略形状、标签和线宽,专注于 colored颜色 .如果我将COLOR语句放在aes()
呼叫中,如下所示:
ggplot(test_outputdata,
aes(x=Ausfallrate))+
geom_point(aes(y=PFC_MCA,color="red"))+
geom_line(aes(y=PFC_MCA,color="red")) +
geom_point(aes(y=PFC_Hot,color="blue"))+
geom_line(aes(y=PFC_Hot),color="blue") +
geom_point(aes(y=PFC_Mode,color="black"))+
geom_line(aes(y=PFC_Mode,color="black")) +
facet_grid(AnzahlJ~AnzahlI)
The result now looks like this
很好,我有个传奇.但不管是什么原因, colored颜色 不对,应该是黑色的线是红色的,等等.
我也想不出如何以这种方式调整点形状或线宽.
我发现我应该能够使用geom_point()
内部的shape=18
来更改点数.这在某种程度上是可行的(在aes()
号楼外).问题是,它像预期的那样改变了情节中的符号,但在图例中它改变了所有的点.
所有我想要实现的是一个工作的图例,并能够指定 colored颜色 ,点符号,符号和线条的大小和线型. 我也试着找here个,但没有一个对我真正有意义.
拜托,有谁能帮忙吗? 非常感谢