Javascript 如何将HighChart系列重新格式化为用于CSV导出

Javascript 如何将HighChart系列重新格式化为用于CSV导出,javascript,csv,highcharts,Javascript,Csv,Highcharts,我们正在使用HighCharts 4.2.2和插件 这就是我们的CSV导出的外观: 现在,AAPL有3列,但我们只关心y列。下面的代码是我们试图从priceLine series options对象中删除其他两个键(x和end) const updatePriceLine = (chart) => { const priceLine = chart.get('series-priceline'); const prices = priceLine.data.map(poi

我们正在使用HighCharts 4.2.2和插件

这就是我们的CSV导出的外观:

现在,AAPL有3列,但我们只关心
y
列。下面的代码是我们试图从priceLine series options对象中删除其他两个键(
x
end

const updatePriceLine = (chart) => {
    const priceLine = chart.get('series-priceline');
    const prices = priceLine.data.map(point => point.y);
    console.log('prices', prices)
    priceLine.update({ keys: ['price'] });
    priceLine.data = prices;
    console.log('priceLine.data', chart.get('series-priceline').data)
    return chart;
};

上述操作删除了
x
end
列,但是
y
列中没有任何内容

我认为我们的新数据数组需要是一个带有
y
键的对象数组,所以尝试了这个更新的函数,但也不起作用:

const updatePriceLine = (chart) => {
    const priceLine = chart.get('series-priceline');

    const prices = priceLine.data.map((point) => {
        return {
            y: point.y
        };
    });

    priceLine.update({ keys: ['y'] });
    priceLine.data  = prices;
    console.log('priceLine.data', chart.get('series-priceline').data)
    return chart;
};
价格线数据

priceLine.keys

^原始密钥


删除额外键/列后:

CSV现在删除了AAPL(x)和AAPL(end)列,但是AAPL列中没有数据:(

终于明白了! 必须删除将序列设置为常数的行

const updatePriceLine = (chart) => {
    // const priceLine = chart.get('series-priceline');
    const prices = chart.get('series-priceline').data.map((point) => {
        return {
            x: point.x,
            y: point.y
        };
    });

    chart.get('series-priceline').update({ keys: ['y'] });
    chart.get('series-priceline').setData(prices)
    return chart;
};
所以直接在
图表上调用
.update
.setData
。get('series-priceline')