Javascript 在Highcharts散点图中按比例缩放xy
有散点图的: 我希望能够仅按比例缩放xy,因此y记号之间的距离在任何时候都与x记号之间的距离相同,从而产生一个方形缩放字段,而不是一个自由矩形Javascript 在Highcharts散点图中按比例缩放xy,javascript,highcharts,zooming,scatter-plot,Javascript,Highcharts,Zooming,Scatter Plot,有散点图的: 我希望能够仅按比例缩放xy,因此y记号之间的距离在任何时候都与x记号之间的距离相同,从而产生一个方形缩放字段,而不是一个自由矩形 我尝试了chart.setextrems(),但它没有影响缩放功能。默认情况下,Highcarts不支持该功能,但您可以通过从指针原型中包装拖动方法来添加它,例如: (function(H) { H.wrap(H.Pointer.prototype, 'drag', function(proceed, e) { var chartX = e
我尝试了
chart.setextrems()
,但它没有影响缩放功能。默认情况下,Highcarts不支持该功能,但您可以通过从指针原型中包装拖动方法来添加它,例如:
(function(H) {
H.wrap(H.Pointer.prototype, 'drag', function(proceed, e) {
var chartX = e.chartX,
chartY = e.chartY,
mouseDownX = this.mouseDownX,
mouseDownY = this.mouseDownY,
rectX = Math.abs(chartX - mouseDownX),
rectY = Math.abs(chartY - mouseDownY);
if (rectX > rectY) {
e.chartY = chartY + (
mouseDownY > chartY ?
-(rectX - rectY) :
(rectX - rectY)
);
} else {
e.chartX = chartX + (
mouseDownX > chartX ?
-(rectY - rectX) :
(rectY - rectX)
);
}
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
});
}(Highcharts));
现场演示:
API参考:这是一些天才的javascript编码,谢谢,做得很好!