-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
/
Copy pathattributes.js
120 lines (115 loc) · 3.56 KB
/
attributes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/**
* Copyright 2012-2019, Plotly, Inc.
* All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
var plotAttrs = require('../../plots/attributes');
var hovertemplateAttrs = require('../../plots/template_attributes').hovertemplateAttrs;
var extendFlat = require('../../lib/extend').extendFlat;
var colormodel = require('./constants').colormodel;
var cm = ['rgb', 'rgba', 'hsl', 'hsla'];
var zminDesc = [];
var zmaxDesc = [];
for(var i = 0; i < cm.length; i++) {
zminDesc.push('For the `' + cm[i] + '` colormodel, it is [' + colormodel[cm[i]].min.join(', ') + '].');
zmaxDesc.push('For the `' + cm[i] + '` colormodel, it is [' + colormodel[cm[i]].max.join(', ') + '].');
}
module.exports = extendFlat({
z: {
valType: 'data_array',
role: 'info',
editType: 'calc',
description: [
'A 2-dimensional array in which each element is an array of 3 or 4 numbers representing a color.',
].join(' ')
},
colormodel: {
valType: 'enumerated',
values: cm,
dflt: 'rgb',
role: 'info',
editType: 'plot',
description: 'Color model used to map the numerical color components described in `z` into colors.'
},
zmin: {
valType: 'info_array',
items: [
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'}
],
role: 'info',
editType: 'plot',
description: [
'Array defining the lower bound for each color component.',
'Note that the default value will depend on the colormodel.',
zminDesc.join(' ')
].join(' ')
},
zmax: {
valType: 'info_array',
items: [
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'},
{valType: 'number', editType: 'plot'}
],
role: 'info',
editType: 'plot',
description: [
'Array defining the higher bound for each color component.',
'Note that the default value will depend on the colormodel.',
zmaxDesc.join(' ')
].join(' ')
},
x0: {
valType: 'any',
dflt: 0,
role: 'info',
editType: 'calc+clearAxisTypes',
description: 'Set the image\'s x position.'
},
y0: {
valType: 'any',
dflt: 0,
role: 'info',
editType: 'calc+clearAxisTypes',
description: 'Set the image\'s y position.'
},
dx: {
valType: 'number',
dflt: 1,
role: 'info',
editType: 'calc',
description: 'Set the pixel\'s horizontal size.'
},
dy: {
valType: 'number',
dflt: 1,
role: 'info',
editType: 'calc',
description: 'Set the pixel\'s vertical size'
},
text: {
valType: 'data_array',
editType: 'plot',
description: 'Sets the text elements associated with each z value.'
},
hovertext: {
valType: 'data_array',
editType: 'plot',
description: 'Same as `text`.'
},
hoverinfo: extendFlat({}, plotAttrs.hoverinfo, {
flags: ['x', 'y', 'z', 'color', 'name', 'text'],
dflt: 'x+y+z+text+name'
}),
hovertemplate: hovertemplateAttrs({}, {
keys: ['z', 'color', 'colormodel']
}),
transforms: undefined
});