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

LineChart绑定数据集未识别yAxis问题求助

解决MUI LineChart中ownerState.x is undefined的错误

问题根源

你遇到的错误是由于series配置未正确关联y轴,导致CartesianContextProvider中y轴上下文为undefined,进而引发组件渲染时无法正确计算坐标,出现ownerState.x未定义的prop校验警告。

正确的Series配置规则

对于MUI LineChart的series数组,每个项需要:

  • 明确关联一个已定义的y轴(通过yAxisId字段)
  • 确保dataKey指向数据集中的数值字段(如你的value字段)

同时需要显式定义y轴配置,哪怕使用默认参数,这样上下文才能正确初始化y轴信息。

修改后的代码示例

<LineChart
  xAxis={[
    { dataKey: "date", id: "x-axis" } // 给x轴添加id(可选,但配置更清晰)
  ]}
  yAxis={[
    { id: "y-axis" } // 显式定义y轴,使用默认配置即可
  ]}
  series={[
    { 
      dataKey: "value", 
      yAxisId: "y-axis" // 将series关联到定义的y轴
    }
  ]}
  dataSet={data.events}
  height={200}
/>

简化配置方案(单y轴场景)

如果你的场景只需要单个y轴,也可以用更简洁的写法(部分MUI版本支持默认y轴关联):

<LineChart
  xAxis={[{ dataKey: "date" }]}
  yAxis={[{ type: "number" }]} // 显式声明y轴类型为数值型
  series={[{ dataKey: "value" }]}
  dataSet={data.events}
  height={200}
/>

核心是必须显式定义y轴配置,让组件能在上下文中获取y轴的元数据,从而正确完成坐标映射,解决ownerState.x未定义的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:02:44