R削减了情节

时间:2016-01-23 12:00:56

标签: r plot

我使用以下两行来从两个4X10 Matrix d1的行中生成下面的图,并在一个图中生成d2:

plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="firebrick",
ann=FALSE, pch=17, log = 'y',lty=4, xaxt = "n", yaxt="n",las=2) +
lines(as.matrix(d1[1,]),as.matrix(d2[1,]), type="o", col="deepskyblue",
ann=FALSE, pch=15, lty=4) +
lines(as.matrix(d1[3,]),as.matrix(d2[3,]), type="o", col="darkorange",
ann=FALSE, pch=18, lty=4)

x_axis_range <- c(0, 1, 2, 4, 6, 8, 10, 12, 14)
axis(1,at = x_axis_range, labels = x_axis_range)

y_axis_range <- c(0, 4e+2, 1e+3, 5e+3, 3e+4, 7e+4,2e+5, 1e+6, 2e+6) 
y_axis_labels <- c("0", "400", "1K", "5K", "30K", "70K", "200K", "1M", "2M")

axis(2,at = y_axis_range, labels = y_axis_labels, las=2)

它产生: enter image description here

但这个情节有两个问题:

  1. 正如您所看到的那样,即使我强制y轴从0开始,也会看到部分蓝线被切断。蓝线的最低y值为100.
  2. 如果你看一下上面的代码,我会画出三行,&#34; darkorange&#34;情节中缺少一个。问题类似于上面的问题:整个黑暗变换线从y = 1e + 6开始,我已经失败了R在图中显示它。我不知道发生了什么:/。
  3. 编辑:这是R运行时的警告输出:

      

    数字(0)

         

    警告讯息:

         

    1:在xy.coords(x,y,xlabel,ylabel,log)中:引入的NAs   胁迫

         

    2:在xy.coords(x,y,xlabel,ylabel,log)中:引入的NAs   胁迫

         

    3:在xy.coords(x,y)中:通过强制引入的NA

         

    4:在xy.coords(x,y)中:强制引入的NAs

         

    5:在xy.coords(x,y)中:通过强制引入的NA

         

    6:在xy.coords(x,y)中:通过强制引入的NA

1 个答案:

答案 0 :(得分:1)

plot定义了轴的范围,即使没有绘制。如您所见,&#34; firebrick&#34; -data在其范围内绘制。 lines只在不改变限制的情况下为现有绘图添加一条线。 所以我建议尝试:

plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="firebrick",
ann=FALSE, pch=17, log = 'y',lty=4, xaxt = "n", yaxt="n",las=2,
ylim = c(50, 2e6))
#...

您还可以在绘图之前检查最小值和最大值:

MinY <- min(d2)
MaxY <- max(d2)
plot(as.matrix(d1[2,]), as.matrix(d2[2,]), type="o", col="firebrick",
ann=FALSE, pch=17, log = 'y',lty=4, xaxt = "n", yaxt="n",las=2,
ylim = c(MinY, MaxY))
#...