Skip to content

Commit 72807c7

Browse files
committed
tick alignments completed
1 parent 1811097 commit 72807c7

File tree

3 files changed

+30
-9
lines changed

3 files changed

+30
-9
lines changed

package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
"gl-mat4": "^1.2.0",
7979
"gl-mesh3d": "^2.0.0",
8080
"gl-plot2d": "^1.3.1",
81-
"gl-plot3d": "git://github.com/gl-vis/gl-plot3d.git#4800f7203b59e79bf35a0fdcf9742bf10a007941",
81+
"gl-plot3d": "git://github.com/gl-vis/gl-plot3d.git#0a1b43a7ecf0f7d49b7e63d8a9089edfe76056a1",
8282
"gl-pointcloud2d": "^1.0.1",
8383
"gl-scatter3d": "^1.0.11",
8484
"gl-select-box": "^1.0.2",

src/plots/gl3d/layout/convert.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ function AxesOptions() {
2525
this.tickFont = [ 'sans-serif', 'sans-serif', 'sans-serif' ];
2626
this.tickSize = [ 12, 12, 12 ];
2727
this.tickAngle = [ 0, 0, 0 ];
28+
this.tickAlign = [ 'auto', 'auto', 'auto' ];
2829
this.tickColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];
2930
this.tickPad = [ 18, 18, 18 ];
3031

@@ -33,6 +34,7 @@ function AxesOptions() {
3334
this.labelFont = ['Open Sans', 'Open Sans', 'Open Sans'];
3435
this.labelSize = [ 20, 20, 20 ];
3536
this.labelAngle = [ 0, 0, 0 ];
37+
this.labelAlign = [ 'auto', 'auto', 'auto' ];
3638
this.labelColor = [ [0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 1] ];
3739
this.labelPad = [ 30, 30, 30 ];
3840

@@ -91,6 +93,18 @@ proto.merge = function(sceneLayout) {
9193
if(axes.titlefont.family) opts.labelFont[i] = axes.titlefont.family;
9294
if(axes.titlefont.size) opts.labelSize[i] = axes.titlefont.size;
9395
}
96+
// Title rotation/alignment similar to ticks
97+
if('titleangle' in axes) {
98+
if(axes.titleangle === 'auto') {
99+
opts.labelAlign[i] = 'auto';
100+
opts.labelAngle[i] = 0;
101+
} else {
102+
opts.labelAlign[i] = -1;
103+
opts.labelAngle[i] = Math.PI * -axes.labelangle / 180;
104+
}
105+
}
106+
if(axes.titlealign === 'auto') opts.labelAlign[i] = 'auto';
107+
if('titlealign' in axes) opts.lableAlign[i] = axes.titlealign;
94108

95109
// Lines
96110
if('showline' in axes) opts.lineEnable[i] = axes.showline;
@@ -118,10 +132,17 @@ proto.merge = function(sceneLayout) {
118132
if('tickcolor' in axes) opts.lineTickColor[i] = str2RgbaArray(axes.tickcolor);
119133
if('tickwidth' in axes) opts.lineTickWidth[i] = axes.tickwidth;
120134
if('tickangle' in axes) {
121-
opts.tickAngle[i] = (axes.tickangle === 'auto') ?
122-
0 :
123-
Math.PI * -axes.tickangle / 180;
135+
if(axes.tickangle === 'auto') {
136+
opts.tickAlign[i] = 'auto';
137+
opts.tickAngle[i] = 0;
138+
} else {
139+
opts.tickAlign[i] = -1;
140+
opts.tickAngle[i] = Math.PI * -axes.tickangle / 180;
141+
}
124142
}
143+
if(axes.tickalign === 'auto') opts.tickAlign[i] = 'auto';
144+
if('tickalign' in axes) opts.tickAlign[i] = axes.tickalign;
145+
125146
// tick labels
126147
if('showticklabels' in axes) opts.tickEnable[i] = axes.showticklabels;
127148
if('tickfont' in axes) {

0 commit comments

Comments
 (0)