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

Morris Chart的data属性键名包含空格的实现方案咨询

解决方案

1. 修正带空格对象键的语法错误

JavaScript 语法中,包含空格、特殊字符的对象键必须用单引号或双引号包裹,你当前的报错首先是该语法问题导致的。修正引号后,Morris.js 本身支持带空格的ykeys参数配置,可直接实现需求,修正后的代码如下:

Morris.Area({
  element: 'myfirstchart',
  data: [{
      date: '2021-10-19',
      'link nameA': 2,
      'link nameB': 3,
      extra: 0
    },
    {
      date: '2021-10-20',
      'link nameA': 5,
      'link nameB': 4,
      extra: 0
    }
  ],
  xkey: 'date',
  ykeys:  ['link nameA', 'link nameB', 'extra'],
  xLabels: 'day',
  labels: ['link nameA', 'link nameB', 'extra'],
  pointSize: 3,
  fillOpacity: 0,
  pointStrokeColors: ['#00bfc7', '#00bfc7', '#9675ce'],
  behaveLikeLine: true,
  gridLineColor: '#e0e0e0',
  lineWidth: 3,
  hideHover: 'auto',
  lineColors: ['#0bc36e', '#00bfc7', '#9675ce'],
  dateFormat: function(date) {
    d = new Date(date);
    return d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear();
  },
  resize: true
});

2. 兼容旧版本的备选方案

如果你使用的是较早版本的 Morris.js,存在带空格ykeys的解析异常,可以采用更稳妥的实现方式,不影响最终显示效果:

  • 数据中的键名使用下划线格式link_nameA、link_nameB
  • ykeys参数对应修改为下划线命名的键名
  • labels参数保持你需要的带空格名称即可,图表最终展示的标签仍为link nameA这类格式

内容的提问来源于stack exchange,提问作者newbie.user88

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:54:00