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