typescript Angular 上amChartv5的甘特正在解析同一名称的多个类别

avkwfej4  于 2022-12-30  发布在  TypeScript
关注(0)|答案(1)|浏览(101)

我在Angular 13上实现了一个amChartsv5甘特,其中每个条(类别)都是一个项目,如果一个类别出现了两次或两次以上,它们就应该堆叠起来,就像一个时间线。我设法从本地JSON中获取它并添加一些自定义属性,唯一的问题是:图表为每一项申报列一行,即使类别相符也是如此。
OBS:条形图堆叠完美,所有输入按预期顺序排列,但图表创建了3条线,其中两条为空,只有第三条由数据填充。
JSON示例:

[
    {
      "category": "LETICIA",
      "fromDate": "2022-08-02 00:00",
      "toDate": "2022-08-08 23:59",
      "columnSettings": {
        "fill": "#57315b"
      },
      "task": "Sprint #1",
      "personnel": 13
    },
    {
      "category": "LETICIA",
      "fromDate": "2022-08-08 00:00",
      "toDate": "2022-08-09 23:59",
      "columnSettings": {
        "fill": "#E6E6FA"
      },
      "task": "Presentation",
      "personnel": 14
    },
    {
      "category": "LETICIA",
      "fromDate": "2022-08-09 00:00",
      "toDate": "2022-08-19 23:59",
      "columnSettings": {
        "fill": "#57315b"
      },
      "task": "Sprint #1",
      "personnel": 15
    }
]

resulting in this
我试着操作JSON,但至今没有成功。有没有办法摆脱那些不必要的类别创建?
我没有设法使它适应stackblitz,但这里是我的组件和服务是如何现在:https://stackblitz.com/edit/angular-ivy-hpeih1?file=src/app/app.component.ts

5sxhfpxr

5sxhfpxr1#

在您的代码中,问题位于第95行:第一个月
data中,有些类别会出现多次,而不是这样,您必须传递一个特定的对象常量数组,其中列出了您的类别,如下所示:

yAxis.data.setAll([
  { category: "Category 1" },
  { category: "Category 2" },
  { category: "Category 3" }
]);

完整示例:
x一个一个一个一个x一个一个二个一个x一个一个三个一个

相关问题