Javascript 如何删除海图上的垂直绘制线

Javascript 如何删除海图上的垂直绘制线,javascript,highcharts,Javascript,Highcharts,假设我添加了一些用不同名称标记的垂直线。现在我想通过单击任何行来删除该行。我该怎么做…请有人帮忙。提前感谢。以下是单击绘图线并立即将其删除的方法: 在xAxis配置中,添加带有单击事件的绘图线: xAxis: { plotLines: [{ // mark the weekend id: 'plotLine1', color: 'red', width: 2, value: Date.UTC(2010, 0, 4),

假设我添加了一些用不同名称标记的垂直线。现在我想通过单击任何行来删除该行。我该怎么做…请有人帮忙。提前感谢。

以下是单击绘图线并立即将其删除的方法:

在xAxis配置中,添加带有
单击
事件的绘图线:

xAxis: {
    plotLines: [{ // mark the weekend
        id: 'plotLine1',
        color: 'red',
        width: 2,
        value: Date.UTC(2010, 0, 4),
        events: {
            click: function(e) {
                this.axis.removePlotLine(this.id)
            }
        }
    }],
    tickInterval: 24 * 3600 * 1000,
    // one day
    type: 'datetime'
},
这里有一把小提琴来显示它的作用:

要去除网格线,只需在
yAxis
config中将其着色为
transparent

yAxis: {
    ...
    gridLineColor: 'transparent',
}
编辑新问题:要删除本例中的线条,只需将事件配置添加到新的绘图线条中即可-如下所示:

// Inside chart event click function:
    chart.addPlotLine({
        value: event.xAxis[0].value,
        color: '#'+(Math.random()*0xEEEEEE<<0).toString(16),
        width: 2,

        // added label to id so the id is unique:
        id: 'vertLine_'+label,
        zIndex: 9999,

        // added plotLine event click - same as before.
        events: {
            click: function(e) {
                this.axis.removePlotLine(this.id);
            }
        },
        label : {
            text : label
        }
    });
//内部图表事件单击函数:
chart.addPlotLine({
值:event.xAxis[0]。值,

颜色:“#”+(Math.random()*0xEEEEEE单击绘图线并立即将其删除的方法如下:

在xAxis配置中,添加带有
单击
事件的绘图线:

xAxis: {
    plotLines: [{ // mark the weekend
        id: 'plotLine1',
        color: 'red',
        width: 2,
        value: Date.UTC(2010, 0, 4),
        events: {
            click: function(e) {
                this.axis.removePlotLine(this.id)
            }
        }
    }],
    tickInterval: 24 * 3600 * 1000,
    // one day
    type: 'datetime'
},
这里有一把小提琴来显示它的作用:

要去除网格线,只需在
yAxis
config中将其着色为
transparent

yAxis: {
    ...
    gridLineColor: 'transparent',
}
编辑新问题:要删除本例中的线条,只需将事件配置添加到新的绘图线条中即可-如下所示:

// Inside chart event click function:
    chart.addPlotLine({
        value: event.xAxis[0].value,
        color: '#'+(Math.random()*0xEEEEEE<<0).toString(16),
        width: 2,

        // added label to id so the id is unique:
        id: 'vertLine_'+label,
        zIndex: 9999,

        // added plotLine event click - same as before.
        events: {
            click: function(e) {
                this.axis.removePlotLine(this.id);
            }
        },
        label : {
            text : label
        }
    });
//内部图表事件单击函数:
chart.addPlotLine({
值:event.xAxis[0]。值,


颜色:“#”+(Math.random()*0xEEEEEE您还可以捕获单击事件并销毁SVG元素(行+标签)

您还可以捕获单击事件并销毁SVG元素(行+标签)

您是否尝试过在单击时重新放置图形,并将设置更改为不带绘图线?对不起,我不明白您的意思。您能详细说明一下吗?您也想删除与您单击的线对应的标签,对吗?对不起,我想我误解了问题。您想在单击时删除一系列数据,对吗ght?一张图表中有多少个系列?是的,没错……系列的数量与我添加的数量相同。首先,我们只取一条垂直绘图线:现在删除该线(我的标记)。您是否尝试过在单击时重新放置图形,并将设置更改为不带绘图线?抱歉,我不明白您的意思。您可以详细说明一下吗?您也想删除与您单击的线对应的标签,对吗?抱歉,我想我误解了问题。您想在单击时删除一系列数据,对吗?一张图表中有多少个系列?是的,没错……系列的数量与我添加的数量相同。首先,我们只取一条垂直绘图线:现在删除该线(我的标记).好的…这很好,但是如果我使用动态数据,并且id没有预定义,那么该怎么办。这段代码可能会解决系列删除问题,但是如何删除垂直和水平绘制线?我添加了如何删除网格线-只需将其涂成白色。很好,我将致力于删除绘制线[不是系列]明天!对不起,我看错了Q@Poles-检查更新的答案。现在,当你点击一条绘图线时,它应该会自动删除!示例显示了一条垂直的绘图线,但同样的想法也应该适用于水平的绘图线。这是可行的,但你可以通过点击图表删除这些线…示例:@Poles是的,我更新了答案和你的fiddle来显示这个新的解决方案。好的……这很好,但是如果我使用动态数据,如果id没有预定义,那么该怎么办。这段代码可能会解决序列删除问题,但是如何删除垂直和水平的绘制线?我添加了如何删除网格线-只需将它们涂成白色。很好,我将致力于删除绘制线[非系列]明天!对不起,我看错了Q@Poles-检查更新的答案。现在,当你点击一条绘图线时,它应该会自动删除!示例显示了一条垂直的绘图线,但同样的想法也应该适用于水平的绘图线。这是可行的,但你可以通过点击图表删除这些线…示例:@Poles是的,我更新了答案和你的fiddle以显示此新解决方案。