Skip to content

Commit 60425d2

Browse files
authored
Merge pull request #4685 from plotly/template-tick-value-defaults
Set tick value defaults via template
2 parents fbf6c92 + f3e361f commit 60425d2

File tree

2 files changed

+199
-174
lines changed

2 files changed

+199
-174
lines changed

src/plots/cartesian/tick_value_defaults.js

+16-5
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,25 @@
1111
var cleanTicks = require('./clean_ticks');
1212

1313
module.exports = function handleTickValueDefaults(containerIn, containerOut, coerce, axType) {
14+
function readInput(attr) {
15+
var v = containerIn[attr];
16+
return (
17+
v !== undefined
18+
) ? v : (containerOut._template || {})[attr];
19+
}
20+
21+
var _tick0 = readInput('tick0');
22+
var _dtick = readInput('dtick');
23+
var _tickvals = readInput('tickvals');
24+
var _tickmode = readInput('tickmode');
1425
var tickmode;
1526

16-
if(containerIn.tickmode === 'array' &&
27+
if(_tickmode === 'array' &&
1728
(axType === 'log' || axType === 'date')) {
1829
tickmode = containerOut.tickmode = 'auto';
1930
} else {
20-
var tickmodeDefault = Array.isArray(containerIn.tickvals) ? 'array' :
21-
containerIn.dtick ? 'linear' :
31+
var tickmodeDefault = Array.isArray(_tickvals) ? 'array' :
32+
_dtick ? 'linear' :
2233
'auto';
2334
tickmode = coerce('tickmode', tickmodeDefault);
2435
}
@@ -29,9 +40,9 @@ module.exports = function handleTickValueDefaults(containerIn, containerOut, coe
2940
// special strings available for log or date axes
3041
// tick0 also has special logic
3142
var dtick = containerOut.dtick = cleanTicks.dtick(
32-
containerIn.dtick, axType);
43+
_dtick, axType);
3344
containerOut.tick0 = cleanTicks.tick0(
34-
containerIn.tick0, axType, containerOut.calendar, dtick);
45+
_tick0, axType, containerOut.calendar, dtick);
3546
} else if(axType !== 'multicategory') {
3647
var tickvals = coerce('tickvals');
3748
if(tickvals === undefined) containerOut.tickmode = 'auto';

0 commit comments

Comments
 (0)