无法使用任何图表从 csv 文件加载事件标记

Trouble loading eventmarkers from csv file with anychart

我正在尝试使用 anygraph 制作图表。它从 csv 文件加载数据,但我无法从同一文件获取事件标记。

对于 eventMarkers.data 方法,我似乎没有得到正确的 mapping/source 值。我的目标是从与图表源相同的 csv 文件加载标记,其中 1 列将包含某些日期的标记信息。

假设我有以下 csv:

date, value, optionalmarkerinfo
2021-01-01 01:00:00,2,
2021-01-01 01:00:00,3,markerinfo

和以下代码:

 anychart.data.loadCsvFile("export.csv", function (data) {
           var dataTable = anychart.data.table(0, '');
        dataTable.addData(data);

        //Create table and stuff
        var chart = anychart.stock(); // (the type of graph isnt correct for this data, but its only to generally give a skelet of my setup)
        // more stuff where i create the first timelines graph

        
        // then to add a marker on each timeframe: 
       // (data will be filtered later to only show markers on specific values of dates)
       var dataSet = anychart.data.set(data);
       var mappingMarker = dataSet.mapAs({date: 0}); 
       chart.plot(1).eventMarkers().data(mappingMarker); // THIS DOESNT WORK

       // finish the drawing:
        chart.container('container');
        chart.draw();

 }

不幸的是,Stock 数据和映射实例与事件标记不兼容。您应该直接将数据应用为 an array of objects。作为解决方法,您可以加载一个单独的 CSV 文件,将其预处理为兼容格式并将其应用于事件标记。

作为对 anychart 单独加载带有标记的 csv 的建议的回应,我想到了下一个有效的解决方案:

        anychart.data.loadCsvFile("markers.csv", function (data) {
            var lines=data.split("\n");
            var result = [];
            for(var i=1;i<lines.length;i++){
              var obj = {};
              var currentline=lines[i].split(",");
              obj["date"] = currentline[0];
              obj["description"] = currentline[1];

              result.push(obj);
            }
            // add the markers to the previously defined plot with the markers.
            chart.plot(0).eventMarkers({"groups": [
              {
                "format": "A",
                "data" : result
              }
            ]});