Skip to content

Commit

Permalink
Merge pull request #4685 from plotly/template-tick-value-defaults
Browse files Browse the repository at this point in the history
Set tick value defaults via template
  • Loading branch information
archmoj committed Mar 25, 2020
2 parents fbf6c92 + f3e361f commit 60425d2
Show file tree
Hide file tree
Showing 2 changed files with 199 additions and 174 deletions.
21 changes: 16 additions & 5 deletions src/plots/cartesian/tick_value_defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,25 @@
var cleanTicks = require('./clean_ticks');

module.exports = function handleTickValueDefaults(containerIn, containerOut, coerce, axType) {
function readInput(attr) {
var v = containerIn[attr];
return (
v !== undefined
) ? v : (containerOut._template || {})[attr];
}

var _tick0 = readInput('tick0');
var _dtick = readInput('dtick');
var _tickvals = readInput('tickvals');
var _tickmode = readInput('tickmode');
var tickmode;

if(containerIn.tickmode === 'array' &&
if(_tickmode === 'array' &&
(axType === 'log' || axType === 'date')) {
tickmode = containerOut.tickmode = 'auto';
} else {
var tickmodeDefault = Array.isArray(containerIn.tickvals) ? 'array' :
containerIn.dtick ? 'linear' :
var tickmodeDefault = Array.isArray(_tickvals) ? 'array' :
_dtick ? 'linear' :
'auto';
tickmode = coerce('tickmode', tickmodeDefault);
}
Expand All @@ -29,9 +40,9 @@ module.exports = function handleTickValueDefaults(containerIn, containerOut, coe
// special strings available for log or date axes
// tick0 also has special logic
var dtick = containerOut.dtick = cleanTicks.dtick(
containerIn.dtick, axType);
_dtick, axType);
containerOut.tick0 = cleanTicks.tick0(
containerIn.tick0, axType, containerOut.calendar, dtick);
_tick0, axType, containerOut.calendar, dtick);
} else if(axType !== 'multicategory') {
var tickvals = coerce('tickvals');
if(tickvals === undefined) containerOut.tickmode = 'auto';
Expand Down
Loading

0 comments on commit 60425d2

Please sign in to comment.