如何在HighCharts中删除和添加绘图线

如何在HighCharts中删除和添加绘图线,highcharts,angular2-highcharts,Highcharts,Angular2 Highcharts,我在highchart中有两条绘图线。当我选择(用于缩放和重置)打印线区域前后的某个范围时,某些情况下会出现打印线,即使它不在所选范围内。因此,决定在验证选定范围和打印线日期后删除打印线。当我试图在重置按钮单击后将其设置回原位时。它不起作用了 删除: selection(event) { if((fDate < mCurrentDate && tDate < mCurrentDate)||(fDate > mCurrentDate && tDat

我在highchart中有两条绘图线。当我选择(用于缩放和重置)打印线区域前后的某个范围时,某些情况下会出现打印线,即使它不在所选范围内。因此,决定在验证选定范围和打印线日期后删除打印线。当我试图在重置按钮单击后将其设置回原位时。它不起作用了

删除:

selection(event) {
if((fDate < mCurrentDate && tDate < mCurrentDate)||(fDate > mCurrentDate && tDate > mCurrentDate)){
                                    this.xAxis[0].removePlotLine('mCurrentDate');
                                }
                                if((pDate < mCurrentDate && pDate < mCurrentDate)||(pDate > mCurrentDate && pDate > mCurrentDate)){
                                    this.xAxis[0].removePlotLine('mSaleDate');
                                }
}
因此,当我们进行缩放时,如果绘制线日期不在选定范围内,我需要删除绘制线,当用户单击“重置缩放”按钮时,我希望将绘制线设置回原来的位置


有人能帮我修复吗。

使用更新选项重新创建打印线

在这里,我使用
lodash
merge
来合并当前选项并添加绘图线:

merge(options, {
    xAxis: {
        plotLines: [
            { 
                id:'mCurrentDate',
                value: currentDate.getTime(),
                color: 'pink',
                width: 4,
                zIndex: 3
            },{
                id:'mSaleDate',
                value: SaleStartedDate,
                color: 'Green',
                width: 4,
                zIndex: 6
            }
        ]
    }
});
this.chart.update(options, true);

更新:当您调用
Update
时,您不一定需要获得所有的意见。您只需要传递一个具有更改选项的对象

您能在我可以使用的在线编辑器上重现您的案例吗?
merge(options, {
    xAxis: {
        plotLines: [
            { 
                id:'mCurrentDate',
                value: currentDate.getTime(),
                color: 'pink',
                width: 4,
                zIndex: 3
            },{
                id:'mSaleDate',
                value: SaleStartedDate,
                color: 'Green',
                width: 4,
                zIndex: 6
            }
        ]
    }
});
this.chart.update(options, true);