我正在使用@ SwimLineNgx-Chart水平堆积条形图图表数据格式与Api响应不同如何映射任何建议

问题描述

以下是Ngx-Chart期望呈现的数据格式;

from multiprocessing import Process,Queue,Pool,Lock

class QueueFun():

    def __init__(self):
        self.count = 0
        self.lock = Lock()

    def write_queue(self,work_tasks,max_size):
        for i in range(0,max_size):
            print("Writing to queue")
            work_tasks.put(1)

    def read_queue(self,max_size):
        while self.count != max_size:
            self.lock.acquire()
            self.count += 1
            self.lock.release()
            print('self.count',self.count)
            print('')
            print('Reading from queue')
            work_tasks.get()

if __name__ == '__main__':
    q = QueueFun()
    max_size = 1
    work_tasks = Queue()

    write_processes = []
    for i in range(0,2):
        write_processes.append(Process(target=q.write_queue,args=(work_tasks,max_size)))
    for p in write_processes:
        p.start()

    read_processes = []
    for i in range(0,2):
        read_processes.append(Process(target=q.read_queue,max_size)))
    for p in read_processes:
        p.start()

    for p in read_processes:
        p.join()
    for p in write_processes:
        p.join()

    print('q.count',q.count)

我从Api得到的回复正在关注

ChartDataFormat=[
  {
        name:'First Item '
        series:[
            {
                name:'Availablity Loss' //activity
                value:'1200' //duration
            },{
                name:'Slow Cycle' //activity
                value:'1200' //duration
            },{
                name:'Ideal Cyle' //activity
                value:'1200' //duration
            },{
                name:'Performance Loss' //activity
                value:'1200' //duration
            },{
                name:'Small Stop' //activity
                value:'1200' //duration
            }
        ]
    },{
        name:'Second Item'
        series:[
            {
                name:'Availablity Loss' //activity
                value:'1200' //duration
            },]

我正在尝试下面的代码,但是问题是我不知道如何检查该系列中是否已经有项目,或者我做错了;

我正在使用的chartDataModel

var ApiResponse = [
  {
    "activity": "Stand By","endTime": "2020-08-13T19:06:21.770407","duration": 522.3547,"counterValue": 0
  },{
    "activity": "Ideal Cycle","endTime": "2020-08-13T19:06:22.275242","duration": 0.504835,"counterValue": 1
  },{
    "activity": "Slow Cycle","endTime": "2020-08-13T19:06:49.310398","duration": 27.035156,"counterValue": 2
  },"endTime": "2020-08-13T19:07:36.136659","duration": 46.826263,"counterValue": 4
  },{
    "activity": "Availability Loss","endTime": "2020-08-13T19:09:01.920427","duration": 85.78377,"counterValue": 5
  },"endTime": "2020-08-13T19:09:24.20074","duration": 22.280313,"counterValue": 6
  },"endTime": "2020-08-13T19:10:15.615391","duration": 51.41465,"counterValue": 8
  },"endTime": "2020-08-13T19:10:39.174414","duration": 23.559023,"counterValue": 9
  },"endTime": "2020-08-13T19:12:09.1893","duration": 90.014885,"counterValue": 10
  },.....................
]

我正在按照以下方式在组件内部进行操作

export class ChartDataModel {
    public data: SerieModel[];
    constructor(data:  SerieModel[]) {
        this.data = data;
    }
}

export class SerieModel {
    public name: string;
    public series: SeriersChildModel[];
    constructor(name:  string,series: SeriersChildModel[]) {
        this.name = name;
        this.series = series;
    }
}

export class SeriersChildModel {
    public name: string;
    public value: number;
    constructor(name:  string,value: number) {
        this.name = name;
        this.value = value;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)