我 想 把 这个 json 响应 数据 传递 给 一 个 chartjs 的 水平 条 , 使用 angular 这 是 响应 :
Response: [
{
Description: "Prima Fase"
Id: 49
Items: [
{Id: -1, Description: "Nessun Canale", Number: 7},
{Id: 5, Description: "Altro Canale", Number: 3},
{Id: 21, Description: "Collaboratore Enzo", Number: 1}
},
{
Description: "Seconda Fase"
Id: 70
Items: [
{Id: -1, Description: "Nessun Canale", Number: 3},
{Id: 3, Description: "Web", Number: 3},
{Id: 5, Description: "Altro Canale", Number: 3},
{Id: 27, Description: "15C", Number: 1},
]
}
]
中 的 每 一 个
我 尝试 使用 图表 js 的 水平 条 的 x 轴 和 z 轴 , 并 使用 以下 代码
getDataForFunnel() {
this.barChartData = [];
this.barChartLabels = [];
this.funnelService.getFunnelGraph(this.funnelForm.value).subscribe(
(response) => {
this.currentResponseItems = response.Response.Items || [];
this.funnelService.allDatasFunnel = response.Response.Items || [];
this.currentResponseMessage = response.Response.Message;
if (this.currentResponseItems) {
this.currentResponseItems.forEach((y) =>
this.barChartLabels.push(y.Description)
);
let array = [];
this.currentResponseItems.forEach((x) => {
array.push(x.Id);
})
this.currentResponseItems.forEach((x) => {
x.Items.forEach((z) => {
// console.log(z.Id)
z["phaseId"] = x.Id;
let zData = [];
let number = array.indexOf(z.phaseId);
if (z.Number != 0) {
zData[number] = z.Number;
this.barChartData.push({
data: zData,
stack: "a",
label: z.Description,
idStatoAffiliazione: x.Id,
channelID: z.Id,
});
}
})
});
格式
但 它 似乎 不 工作 , 因为 我 总是 有 不同 的 颜色 像 这样 的 副本 :我 想 用 不同 的 相位 重新 分组 每个 通道 , 以 消除 图表 中 的 重复 , 并 在 每个 相位 enter image description here 中 给 它们 相同 的 颜色
1条答案
按热度按时间xkrw2x1b1#
您可以在删除图例项的重复项时引用此代码。
forked stackblitz