使用ggplot2在意大利面条图中重命名x轴上的刻度线

时间:2016-06-15 14:52:55

标签: r ggplot2

我对R很陌生,我正在尝试创建一个意大利面条图,在4组中比较服用急救药物的患者在不同时间点(手术后1小时,4小时,8小时和手术后)的百分比1个早上和术后第1天下午)。

在玩完之后,我从这段代码开始创建了一个不错的图表:

plot <-- ggplot(data=rescue, aes(Measurement, Percentage, color=factor(Group))) + geom_line()

通过几个命令,我根据自己的喜好调整了图形,我有: enter image description here

我想在x-axis上使用标签1 hour4 hours8 hoursPOD1 Morning替换1,2,3,4,5和POD1 Afternoon

我搜索了这个网站并谷歌并提出了这个代码:

plot1 <-- plot + scale_x_discrete(labels=c("1"="1 hour", "2"="4 hours", "3"="8 hours", "4"="POD1 Morning", "5"="POD1 Afternoon"))

我也试过levels=c(1,2,3,4,5)labels=c("1 hour", "4 hours", etc)但是 我得到的只是一个空的x-axis,没有新的标签。我似乎无法使其发挥作用。在另一篇文章中,我阅读了使用xaxt="n"的建议,但我无法使用ggplot2

有人可以帮帮我吗? 非常感谢你!

2 个答案:

答案 0 :(得分:2)

考虑在scale_x_discrete()

中使用中断
plot <- ggplot(data=rescue, aes(Measurement, Percentage, color=factor(Group))) + 
        geom_line() +  
        scale_x_discrete(breaks=c(1, 2, 3, 4, 5), 
                labels=c("1 hour", "4 hours", "8 Hours", "POD1 Morning", "POD1 Afternoon"))

答案 1 :(得分:0)

您正尝试将离散轴应用于连续变量(测量)。修复方法是将测量转化为因素:

plot <-- ggplot(data=rescue, aes(factor(Measurement), Percentage, color=factor(Group))) + geom_line()

您可能希望通过添加

手动更改标签

+ labs(x = 'Measurement')