使用C3.js绘制图表时遇Uncaught TypeError错误求助
解决C3图表绘制的Uncaught TypeError问题
我帮你排查了几个可能触发这个Uncaught TypeError的核心问题,你可以逐一验证修复:
1. CSV列名与代码配置不匹配
你的代码里指定了x: 'YEAR'作为横轴数据列,但CSV文件的第一列实际是AC_YEAR,C3无法找到对应列会导致解析失败,进而抛出类型错误。
修复方法:把代码中的x: 'YEAR'修改为x: 'AC_YEAR'。
2. CSV文件格式错误
你提供的CSV内容看起来是把所有数据挤在了一行,C3要求CSV每行对应一条数据记录。正确的CSV格式应该是:
AC_YEAR,MEAN 2010,5.387 2011,5.63 2012,5.258 2013,5.355 2014,5.235 2015,4.892
如果你的实际CSV文件格式和上面不一致,需要调整为每行一条数据的标准格式。
3. 代码中的多余逗号(潜在语法问题)
虽然现代JavaScript允许对象末尾有多余逗号,但部分环境下可能引发解析异常。建议移除代码中不必要的逗号,让语法更严谨。
修正后的完整代码
var chart1 = c3.generate({ bindto: '#chart1', data: { url: '../CSV/Chart_data/grade_year.csv', x: 'AC_YEAR', type: 'bar' }, size: { height: 370 }, grid: { y: { show: true, lines: [{ value: 5, text: 'Passed grade' }] } }, bar: { width: { ratio: 0.7 } } });
你可以先修正CSV格式和列名配置,再运行代码,这个类型错误应该就能解决了。
内容的提问来源于stack exchange,提问作者MTT
相关产品推荐
相关产品推荐

