plot(t,y,pch=20) Error in plot.window(...) : 'xlim'值不能是无限的 In addition: Warning messages: 1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion 2: In min(x) : no non-missing arguments to min; returning Inf 3: In max(x) : no non-missing arguments to max; returning -Inf
时间: 2024-03-03 16:52:55 浏览: 300
这个错误通常是由于输入的数据存在缺失值或者无限值导致的。请检查你的数据,确认数据是否完整、是否存在缺失值或者无限值,并对这些数据进行处理。如果数据缺失较多,可能需要考虑删除这些数据或者使用插值等方法进行填充。如果数据中存在无限值,可以使用 `is.finite()` 函数来判断,然后将其替换为一个合适的值或者删除这些数据。另外,如果你使用了一些函数或操作,可能会导致数据中出现缺失值或者无限值,请检查这些操作的结果是否符合预期。
在你的代码中,出现了无限值的可能原因是 `y` 向量中存在缺失值,导致 `min(x)` 和 `max(x)` 返回 `Inf` 和 `-Inf`,从而导致绘图的 x 轴范围出现了问题。你可以使用 `na.omit()` 函数来删除 `y` 向量中的缺失值,代码如下所示:
```
#画时序图
postscript('plot1',horizontal=T,width=6,height=6)
t <- data[,1]
t <- t[2:n]
y <- na.omit(y) # 删除y中的缺失值
plot(t,y,pch=20)
dev.off() #关闭设备
```
这样应该就能够正常绘制图形了。
相关问题
用r语言使用plot画一个螺旋线的动态图 # 螺旋线方程: # x = tcos(ct) # c为某个实数 # y = tsin(ct)
以下是用 R 语言绘制螺旋线动态图的代码:
```R
# 定义参数
c <- 0.1 # 实数c
t_max <- 100 # 时间范围
dt <- 0.1 # 时间步长
# 创建空白画布
plot(0, 0, type="n", xlim=c(-50, 50), ylim=c(-50, 50), xlab="", ylab="")
# 绘制螺旋线
for (t in seq(0, t_max, by=dt)) {
x <- t * cos(c * t)
y <- t * sin(c * t)
points(x, y, pch=19, col="red")
Sys.sleep(0.01) # 控制绘图速度
}
```
这段代码将创建一个空白画布,并在循环中逐步绘制螺旋线。`seq()` 函数用于生成时间序列,`Sys.sleep()` 函数用于控制绘图速度。你可以根据需要调整参数来改变螺旋线的形状和动态效果。
用R语言 画一个螺旋线的动态图 ,螺旋线方程: x = t*cos(c*t) ,c为某个实数 , y = t*sin(c*t)
以下是用R语言绘制螺旋线动态图的代码:
```{r}
library(animation)
# 定义螺旋线方程
x <- function(t, c) t * cos(c * t)
y <- function(t, c) t * sin(c * t)
# 设置参数
c <- 0.1
t <- seq(0, 50*pi, length.out = 1000)
# 创建动画
saveGIF({
for(i in 1:length(t)){
plot(x(t[1:i], c), y(t[1:i], c), type = "l", col = "red", xlim = c(-50, 50), ylim = c(-50, 50))
points(x(t[i], c), y(t[i], c), col = "blue", pch = 19)
Sys.sleep(0.05)
}
}, movie.name = "spiral.gif", interval = 0.05, ani.width = 480, ani.height = 480)
```
代码解释:
1. 首先我们定义了两个函数x和y,用来计算螺旋线上每一个点的坐标。
2. 然后我们设置了参数c和t。其中c是某个实数,t是一个等差数列,用来表示时间的变化。
3. 接着我们使用循环来绘制动态图。在每一次循环中,我们先绘制出当前时间点之前的螺旋线,然后再在当前时间点处画一个蓝色的点。最后通过Sys.sleep函数来控制每帧之间的时间间隔,从而实现动态效果。
4. 最后我们使用saveGIF函数来保存动画。其中movie.name参数用来指定动画的文件名,interval参数用来控制帧之间的时间间隔,ani.width和ani.height参数用来设置动画的宽度和高度。
阅读全文