我尝试编写一个高脚椅代码以使移动线与现实时间(手动操作)
第一点与标准线相同且不能移动
其他点可以向右或向左移动
当我移动第二点时,其他点也可以移动
但是当我移动3点(或更多点)时,第二点也移动了,而且还不行,我需要后面的点也不要移动
我尝试使用groupid解决方案... 我选择了x点,x + 1,x + 2,x + 3点也移动了,但是x-1,x-2点没有一起分组(所以不要移动)
移动点时如何分组和取消分组?
我该如何限制所选的最小点以不向左移动x-1点?
感谢您的帮助
我执行以下代码:jsfiddle.net/arawn45/60bdzu4o/14/
一段代码:
groupId: 'Group A',
答案 0 :(得分:0)
我找到了限制数据下移动点的解决方案
if (Highcharts.dateFormat('%e - %b - %Y', new Date(this.x)) ==
(Highcharts.dateFormat('%e - %b - %Y', Date.UTC(1970, 10, 9)))) {
setDragStatus('erreur condition 1 '+Highcharts.dateFormat('%e - %b - %Y', new Date(this.x))+' ');
return false;
}
我不知道该怎么做
如果(Highcharts.dateFormat('%e-%b-%Y',新的Date(this.x))< (日期点1)
... 谢谢您的帮助
答案 1 :(得分:0)
在mouseOver
事件函数中,可以通过更改x值较低的点的groupId
属性来减少拖动的点数:
series: [{
point: {
events: {
mouseOver: function() {
var points = this.series.points;
points.forEach(function(point, i) {
if (i && point.x < this.x) {
point.update({
groupId: false
}, false);
}
}, this);
},
mouseOut: function() {
var points = this.series.points;
points.forEach(function(point, i) {
if (i) {
point.update({
groupId: 'Group A'
}, false);
}
});
}
}
},
...
}]
实时演示: http://jsfiddle.net/BlackLabel/apqbd3ft/
API参考:
https://api.highcharts.com/highcharts/series.scatter.point.events.mouseOver
https://api.highcharts.com/highcharts/series.scatter.point.events.mouseOut
https://api.highcharts.com/class-reference/Highcharts.Point#update
答案 2 :(得分:0)
非常感谢 看起来就像我想做的
当我将point.date之前比point-1.date左移一点时,请添加一个限制。
谢谢