用R中的因子绘制折线图

时间:2016-07-13 14:29:03

标签: r graph

我在R:

中处理此图表

graph

然而,正如你所看到的,我正在获得这些坚实的破折号,而不是漂亮的线条。以下是我用来制作此图表的代码:

par(mar = c(5,5,2,5))
    with(bedtimes, plot(trap, funestus, type="l", col="red3", 
                 ylab=expression(italic(p))),
                 ylim=c(0,3))  

    par(new = T)
    with(bedtimes, plot(trap, bed, pch=16, axes=F, xlab=NA, ylab=NA, cex=1.2))
    axis(side = 4)
    mtext(side = 4, line = 3, 'Proportion in bed')
    polygon(bedtimes$bed,col=transp("gray", 0.3), border = NA)

这是我正在使用的数据的输入:

(removed)

我意识到这是因为我的x轴是一个因素,而不是数字。但是,尝试更改此内容(例如使用as.POSIXct(paste0("2016-07-12",bedtimes$trap))会导致我遇到各种各样的问题,因为我必须确保R最初使用bedtimes$trap <- factor(bedtimes$trap, levels = bedtimes$trap)

以正确的顺序绘制这些因素

如何使用线而不是这些破折号生成相同的图形? 我最终想要一个看起来与此相似的图表,给你一个想法(尽管不完全一样):

graph

谢谢!

1 个答案:

答案 0 :(得分:2)

正如我在评论中所说,您可以尝试使用因子变量的级别:

par(mar = c(5,5,2,5))
with(bedtimes, plot(as.numeric(trap), funestus, type="l", col="red3", 
                    ylab=expression(italic(p))),
                    ylim=c(0,3))  
par(new = T)
with(bedtimes, plot(as.numeric(trap), bed, type="l", axes=F, xlab="", ylab=NA, cex=1.2))
axis(4)
axis(side = 1, at=1:length(levels(bedtimes$trap)), levels(bedtimes$trap))
mtext(side = 4, line = 3, 'Proportion in bed')
polygon(bedtimes$bed,col="gray", border = NA)

enter image description here