r - 用 R 中的因子绘制线图

标签 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

谢谢!

最佳答案

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

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

关于r - 用 R 中的因子绘制线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38354524/

相关文章:

r - 创建信息更丰富的表格输出

java - 从 R (Renjin) 中的字符串表达式获取变量名称

r - 初学者 R 类(class)的结构

r - R中有没有一种方法可以根据代表2个不同常量值的两个多边形创建一个新的多边形(代表某个常量值)

algorithm - 图 - 顶点权重的最短路径

facebook - 使用 facebook graph api 的 Oauth 注销

c++ - 跟踪光标 C++

r - 为什么使用 Zoo 对象进行回归会产生无法识别的结果

构造循环基础的算法,条件是每条边必须最多被 2 个循环共享

algorithm - 网格中的最佳运动