You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言contour函数报错increasing 'x' and 'y' values expected如何解决

问题修复方案

你收到的报错和z矩阵无关,问题出在x、y两个变量不符合contour()函数的参数要求:contour()要求传入的x、y必须是严格单调递增的数值向量,且长度要和z矩阵的行列数对应(x长度等于z的行数,y长度等于z的列数)。你当前的脚本里没有预先定义符合要求的x、y向量,才会触发报错。

具体修复步骤

  • 第一步:先定义严格递增的x、y数值序列,可根据你需要的绘图范围调整区间和步长
  • 第二步:再用outer()计算z矩阵,后续绘制等高线的逻辑无需修改

完整可运行示例代码

# 先定义x、y递增向量,这里以x∈[-5,5]、y∈[-3,3],步长0.1为例
x <- seq(from = -5, to = 5, by = 0.1)
y <- seq(from = -3, to = 3, by = 0.1)

# 原有计算和绘图逻辑不需要改动
z <- outer(x,y, function (x,y)cos (y)/(1+x ^2))
contour(x,y,z)
contour(x,y,z, nlevels =45 , add = T)
za <-( z- t(z))/2
contour(x,y, za, nlevels =15)

补充说明

如果你的x、y是其他来源的序列,不是有序状态,只要用sort()函数处理成递增格式即可,示例:

x <- sort(x)
y <- sort(y)

处理后再传入contour()就可以正常运行。

内容的提问来源于stack exchange,提问作者Tiny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:09:01