Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中绘制时间序列,无法更改y轴_R_Plot_Time Series - Fatal编程技术网

在R中绘制时间序列,无法更改y轴

在R中绘制时间序列,无法更改y轴,r,plot,time-series,R,Plot,Time Series,我正在用R绘制一个时间序列,但我无法指定y轴的范围。我的时间序列是mat.mean和mat.mean.gro。我的绘图代码如下: plot(ts(mat.mean, frequency = 12, start = c(1976, 12)), col = "green") lines(ts(mat.mean.gro, frequency = 12, start = c(1976, 12)), col = "red") 我四处搜索并尝试了最流行的解决方案,如call axis(2, at=seq(

我正在用R绘制一个时间序列,但我无法指定y轴的范围。我的时间序列是mat.mean和mat.mean.gro。我的绘图代码如下:

plot(ts(mat.mean, frequency = 12, start = c(1976, 12)), col = "green")
lines(ts(mat.mean.gro, frequency = 12, start = c(1976, 12)), col = "red")
我四处搜索并尝试了最流行的解决方案,如call

axis(2, at=seq(0.4, 2, by=0.4) or modify the code to 
plot(ts(mat.mean, frequency = 12, start = c(1976, 12)), ylim = c(0.4, 2.0), col = "green"). 
问题是: 在不添加ylim=c(0.4,2.0)的情况下,y轴在我的示例中有一个范围,比如0.5到2.0。在我添加ylim=c(0.4,2.0)之后,y轴的范围仍然是0.5到2.0。这个范围将使我的第二行的一部分隐藏在图形中,因为范围不够大

我的数据如下:

> mat.mean[1:40]
[1] 1.297994 1.286905 1.289706 1.269770 1.210151 1.215818 1.234242 1.256248
[9] 1.288646 1.290055 1.307555 1.283057 1.263023 1.241875 1.349666 1.264034
[17] 1.245436 1.195517 1.209489 1.162674 1.140096 1.098699 1.180981 1.169342
[25] 1.164076 1.090923 1.097041 1.058406 1.082420 1.123527 1.133088 1.140946
[33] 1.125114 1.124824 1.216989 1.235034 1.183935 1.138729 1.162152 1.259850

> mat.mean.gro[1:40]
[1] 0.9098570 0.8885065 0.8929195 0.8700836 0.8681064 0.8684159 0.8941261
[8] 0.8452582 0.8595206 0.8562907 0.8555994 0.8806937 0.8646242 0.8206538
[15] 0.7967376 0.7490888 0.7478145 0.7160734 0.7147583 0.6936500 0.6844725
[22] 0.6536702 0.6818063 0.6691483 0.6558918 0.6224261 0.6196077 0.6051392
[29] 0.6181448 0.6427169 0.6556036 0.6653853 0.6698488 0.6684122 0.7074804
[36] 0.7204438 0.6926981 0.6774449 0.6843505 0.7112838

如果您对此问题有任何意见,请随时告知。

按此顺序运行代码

plot(ts(mat.mean, frequency = 12, start = c(1976, 12)), 
    ylim = c(0.4, 2.0), col = "green")
lines(ts(mat.mean.gro, frequency = 12, start = c(1976, 12)), col = "red")

如果仍然不起作用,请解释“不起作用”的含义。你有错误吗?你看到绿线了吗?你看到红线了吗?绘制了哪些限制?

您所说的“无用”是什么意思?确保先用
ylim=
调用
绘图
,然后调用
。它似乎对我很管用。我是说它不管用。我试试这个。我把情节叫做线,但它不起作用。你的意思是我需要在plot()中首先调用ylim=this参数?嗨,谢谢。我按照你的建议运行了代码。在不添加ylim=c(0.4,2.0)的情况下,y轴在我的示例中有一个范围,比如0.5到2.0。在我添加ylim=c(0.4,2.0)之后,y轴的范围仍然是0.5到2.0。这个范围将使我的第二行的一部分隐藏在图表中,因为范围不够大。我不相信
ylim
会没有效果。但也许你的样本数据不能代表你的观察范围。设置ylim=range(range(mat.mean),range(mat.mean.gro))怎么样?谢谢。我终于明白问题出在哪里了。是的,你说得对。我的数据不具有代表性,所以如果我改变一点范围,R不会在图上显示非常显著的微小变化。如果我做了比绘图默认范围大得多的更改,那么效果是显著的。无论如何,谢谢你。