Skip to content

Commit 8ebf1a2

Browse files
committed
For the backwards-compatible auto angle calculation also only use radians representation for comparison.
1 parent aa6d492 commit 8ebf1a2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/plots/cartesian/axes.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -3786,14 +3786,14 @@ axes.drawLabels = function(gd, ax, opts) {
37863786
(ax.tickwidth || 0) + 2 * TEXTPAD;
37873787

37883788
// old behavior for backwards-compatibility
3789-
var angleRadians = (((tickSpacing < maxFontSize * 2.5) || ax.type === 'multicategory' || ax._name === 'realaxis') ? 90 : 30) * Math.PI / 180;
3789+
var newAngle = ((tickSpacing < maxFontSize * 2.5) || ax.type === 'multicategory' || ax._name === 'realaxis') ? 90 : 30;
37903790
// autotickangles
37913791
if(autoTickAnglesRadians !== undefined) {
37923792
var adjacent = tickSpacing;
37933793
var opposite = maxFontSize * 1.25 * maxLines;
37943794
var hypotenuse = Math.sqrt(Math.pow(adjacent, 2) + Math.pow(opposite, 2));
37953795
var maxCos = adjacent / hypotenuse;
3796-
angleRadians = autoTickAnglesRadians.find(function(angle) { return Math.abs(Math.cos(angle)) <= maxCos; });
3796+
var angleRadians = autoTickAnglesRadians.find(function(angle) { return Math.abs(Math.cos(angle)) <= maxCos; });
37973797
if(angleRadians === undefined) {
37983798
// no angle with smaller cosine than maxCos, just pick the angle with smallest cosine
37993799
angleRadians = autoTickAnglesRadians.reduce(
@@ -3803,15 +3803,15 @@ axes.drawLabels = function(gd, ax, opts) {
38033803
, autoTickAnglesRadians[0]
38043804
);
38053805
}
3806+
newAngle = angleRadians * (180 / Math.PI /* to degrees */);
38063807
}
3807-
var angleDegrees = angleRadians * (180 / Math.PI /* to degrees */);
38083808
if(prevAngle !== undefined) {
38093809
var prevAngleRadians = prevAngle * Math.PI / 180;
3810-
angleDegrees = Math.abs(Math.cos(angleRadians)) < Math.abs(Math.cos(prevAngleRadians)) ? angleDegrees : prevAngle;
3810+
newAngle = Math.abs(Math.cos(newAngle * 180 / Math.PI)) < Math.abs(Math.cos(prevAngleRadians)) ? newAngle : prevAngle;
38113811
}
38123812
for(i = 0; i < lbbArray.length - 1; i++) {
38133813
if(Lib.bBoxIntersect(lbbArray[i], lbbArray[i + 1], pad)) {
3814-
autoangle = angleDegrees;
3814+
autoangle = newAngle;
38153815
break;
38163816
}
38173817
}

0 commit comments

Comments
 (0)