R语言 更改emmip图中的图例标签和顺序

rseugnpd  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(350)

我有一个使用emmip的图,我已经成功地修改了面板的标签和x轴标签,但我一直没有成功地更改标签和图例的顺序,有什么建议吗?
应该是按同源状态划分的音素
以及标签/k/ -同源、/k/非同源、......。
这是此图的代码。

###{r HS in CS interaction plot with pre switch syllable count vs phoneme }
(mylist <- list(
    Syl_Pre_Switch = seq(7,12,by=1),
    phoneTxtGrid=c("p","t","k"), 
    CogStatus=c("Cog", "Cag")))

emmip(modelHSCSwithDistance, phonemeTxtGrid*CogStatus ~ Syl_Pre_Switch,
      at=mylist, CIs = TRUE) +  
    ggplot2::facet_grid(~factor(phonemeTxtGrid, 
                        levels=c('p', 't', 'k'))) + 
        xlab("Syllables After Cognate") + 
        labs(fill = "Stops by Cognate Status")

我试过这个建议从这个职位is there a way to change the Legend of graph in emmeans?
正在添加

scale_color_discrete()

但是我没有成功地更改标签名称。

ohfgkhjo

ohfgkhjo1#

可以修改绘图,例如,通过添加更多的ggplot2调用。但我认为您最好(几乎)重新开始。开始:

plot.data <- emmip(<your emmip arguments>, plotit = FALSE)

这将为您提供一个数据框,其中包含了要绘制的所有内容(有关命名的详细信息,请参阅? emmip)。然后,您可以重新排列此数据框、添加列等,然后使用这些数据、ggplot()或任何您喜欢的方法绘制所需的内容。

jogvjijk

jogvjijk2#

我能够这样做:

(mylist222 <- list(Sylb_PostCog=seq(2,5,by = 1),phoneTxtGrid=c("p","t","k"), CogStatus=c("Cog", "Cag")))
emmip(modelHSvsL2CSwithDistancePostCogToSwitch, phonemeTxtGrid*CogStatus*SpeakGroup ~ Sylb_PostCog, at=mylist222, CIs = TRUE)  + ggplot2::facet_grid(SpeakGroup~factor(phonemeTxtGrid, levels = c("p", "t", "k"))) + labs(x = "Syllables Post Cognate", colour = "Stops by Cognate Status and Speaker Group") +  scale_color_hue(labels = c("/k/ Cognate HS", "/p/ Cognate HS", "/t/ Cognate HS", "/k/ Noncognate HS", "/p/ Noncognate HS", "/t/ Noncognate HS", "/k/ Cognate L2", "/p/ Cognate L2", "/t/ Cognate L2", "/k/ Noncognate L2", "/p/ Noncognate L2", "/t/ Noncognate L2"))

相关问题