plotly.js
Version:
The open source javascript graphing library that powers plotly
106 lines (88 loc) • 3.16 kB
JavaScript
'use strict';
var colorAttrs = require('../../components/color/attributes');
var axesAttrs = require('../cartesian/layout_attributes');
var domainAttrs = require('../domain').attributes;
var extendFlat = require('../../lib').extendFlat;
var overrideAll = require('../../plot_api/edit_types').overrideAll;
var axisLineGridAttr = overrideAll({
color: axesAttrs.color,
showline: extendFlat({}, axesAttrs.showline, {dflt: true}),
linecolor: axesAttrs.linecolor,
linewidth: axesAttrs.linewidth,
showgrid: extendFlat({}, axesAttrs.showgrid, {dflt: true}),
gridcolor: axesAttrs.gridcolor,
gridwidth: axesAttrs.gridwidth,
griddash: axesAttrs.griddash
}, 'plot', 'from-root');
var axisTickAttrs = overrideAll({
ticklen: axesAttrs.ticklen,
tickwidth: extendFlat({}, axesAttrs.tickwidth, {dflt: 2}),
tickcolor: axesAttrs.tickcolor,
showticklabels: axesAttrs.showticklabels,
labelalias: axesAttrs.labelalias,
showtickprefix: axesAttrs.showtickprefix,
tickprefix: axesAttrs.tickprefix,
showticksuffix: axesAttrs.showticksuffix,
ticksuffix: axesAttrs.ticksuffix,
tickfont: axesAttrs.tickfont,
tickformat: axesAttrs.tickformat,
hoverformat: axesAttrs.hoverformat,
layer: axesAttrs.layer
}, 'plot', 'from-root');
var realAxisAttrs = extendFlat({
visible: extendFlat({}, axesAttrs.visible, {dflt: true}),
tickvals: {
dflt: [0.2, 0.5, 1, 2, 5],
valType: 'data_array',
editType: 'plot',
description: 'Sets the values at which ticks on this axis appear.'
},
tickangle: extendFlat({}, axesAttrs.tickangle, {dflt: 90}),
ticks: {
valType: 'enumerated',
values: ['top', 'bottom', ''],
editType: 'ticks',
description: [
'Determines whether ticks are drawn or not.',
'If **, this axis\' ticks are not drawn.',
'If *top* (*bottom*), this axis\' are drawn above (below)',
'the axis line.'
].join(' ')
},
side: {
valType: 'enumerated',
values: ['top', 'bottom'],
dflt: 'top',
editType: 'plot',
description: [
'Determines on which side of real axis line',
'the tick and tick labels appear.'
].join(' ')
},
editType: 'calc',
}, axisLineGridAttr, axisTickAttrs);
var imaginaryAxisAttrs = extendFlat({
visible: extendFlat({}, axesAttrs.visible, {dflt: true}),
tickvals: {
valType: 'data_array',
editType: 'plot',
description: [
'Sets the values at which ticks on this axis appear.',
'Defaults to `realaxis.tickvals` plus the same as negatives and zero.'
].join(' ')
},
ticks: axesAttrs.ticks,
editType: 'calc'
}, axisLineGridAttr, axisTickAttrs);
module.exports = {
domain: domainAttrs({name: 'smith', editType: 'plot'}),
bgcolor: {
valType: 'color',
editType: 'plot',
dflt: colorAttrs.background,
description: 'Set the background color of the subplot'
},
realaxis: realAxisAttrs,
imaginaryaxis: imaginaryAxisAttrs,
editType: 'calc'
};