File Coverage

blib/lib/Chart/Plotly/Trace/Funnel/Marker/Colorbar.pm
Criterion Covered Total %
statement 18 34 52.9
branch 0 8 0.0
condition 0 8 0.0
subroutine 6 7 85.7
pod 1 1 100.0
total 25 58 43.1


line stmt bran cond sub pod time code
1             use Moose;
2 1     1   8 use MooseX::ExtraArgs;
  1         1  
  1         6  
3 1     1   5209 use Moose::Util::TypeConstraints qw(enum union);
  1         3  
  1         8  
4 1     1   1692 if ( !defined Moose::Util::TypeConstraints::find_type_constraint('PDL') ) {
  1         6  
  1         17  
5             Moose::Util::TypeConstraints::type('PDL');
6             }
7              
8             use Chart::Plotly::Trace::Funnel::Marker::Colorbar::Tickfont;
9 1     1   972 use Chart::Plotly::Trace::Funnel::Marker::Colorbar::Tickformatstop;
  1         3  
  1         29  
10 1     1   482 use Chart::Plotly::Trace::Funnel::Marker::Colorbar::Title;
  1         3  
  1         75  
11 1     1   449  
  1         2  
  1         942  
12             our $VERSION = '0.042'; # VERSION
13              
14             # ABSTRACT: This attribute is one of the possible options for the trace funnel.
15              
16             my $self = shift;
17             my $extra_args = $self->extra_args // {};
18 0     0 1   my $meta = $self->meta;
19 0   0       my %hash = %$self;
20 0           for my $name ( sort keys %hash ) {
21 0           my $attr = $meta->get_attribute($name);
22 0           if ( defined $attr ) {
23 0           my $value = $hash{$name};
24 0 0         my $type = $attr->type_constraint;
25 0           if ( $type && $type->equals('Bool') ) {
26 0           $hash{$name} = $value ? \1 : \0;
27 0 0 0       }
28 0 0         }
29             }
30             %hash = ( %hash, %$extra_args );
31             delete $hash{'extra_args'};
32 0           if ( $self->can('type') && ( !defined $hash{'type'} ) ) {
33 0           $hash{type} = $self->type();
34 0 0 0       }
35 0           return \%hash;
36             }
37 0            
38             has bgcolor => ( is => "rw",
39             isa => "Str",
40             documentation => "Sets the color of padded area.",
41             );
42              
43             has bordercolor => ( is => "rw",
44             isa => "Str",
45             documentation => "Sets the axis line color.",
46             );
47              
48             has borderwidth => ( is => "rw",
49             isa => "Num",
50             documentation => "Sets the width (in px) or the border enclosing this color bar.",
51             );
52              
53             has dtick => (
54             is => "rw",
55             isa => "Any",
56             documentation =>
57             "Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *n* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*",
58             );
59              
60             has exponentformat => (
61             is => "rw",
62             isa => enum( [ "none", "e", "E", "power", "SI", "B" ] ),
63             documentation =>
64             "Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.",
65             );
66              
67             has len => (
68             is => "rw",
69             isa => "Num",
70             documentation =>
71             "Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.",
72             );
73              
74             has lenmode => (
75             is => "rw",
76             isa => enum( [ "fraction", "pixels" ] ),
77             documentation =>
78             "Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.",
79             );
80              
81             has minexponent => (
82             is => "rw",
83             isa => "Num",
84             documentation =>
85             "Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.",
86             );
87              
88             has nticks => (
89             is => "rw",
90             isa => "Int",
91             documentation =>
92             "Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.",
93             );
94              
95             has orientation => ( is => "rw",
96             isa => enum( [ "h", "v" ] ),
97             documentation => "Sets the orientation of the colorbar.",
98             );
99              
100             has outlinecolor => ( is => "rw",
101             isa => "Str",
102             documentation => "Sets the axis line color.",
103             );
104              
105             has outlinewidth => ( is => "rw",
106             isa => "Num",
107             documentation => "Sets the width (in px) of the axis line.",
108             );
109              
110             has separatethousands => ( is => "rw",
111             isa => "Bool",
112             documentation => "If \"true\", even 4-digit integers are separated",
113             );
114              
115             has showexponent => (
116             is => "rw",
117             isa => enum( [ "all", "first", "last", "none" ] ),
118             documentation =>
119             "If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.",
120             );
121              
122             has showticklabels => ( is => "rw",
123             isa => "Bool",
124             documentation => "Determines whether or not the tick labels are drawn.",
125             );
126              
127             has showtickprefix => (
128             is => "rw",
129             isa => enum( [ "all", "first", "last", "none" ] ),
130             documentation =>
131             "If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.",
132             );
133              
134             has showticksuffix => ( is => "rw",
135             isa => enum( [ "all", "first", "last", "none" ] ),
136             documentation => "Same as `showtickprefix` but for tick suffixes.",
137             );
138              
139             has thickness => (
140             is => "rw",
141             isa => "Num",
142             documentation =>
143             "Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.",
144             );
145              
146             has thicknessmode => (
147             is => "rw",
148             isa => enum( [ "fraction", "pixels" ] ),
149             documentation =>
150             "Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.",
151             );
152              
153             has tick0 => (
154             is => "rw",
155             isa => "Any",
156             documentation =>
157             "Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.",
158             );
159              
160             has tickangle => (
161             is => "rw",
162             documentation =>
163             "Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.",
164             );
165              
166             has tickcolor => ( is => "rw",
167             isa => "Str",
168             documentation => "Sets the tick color.",
169             );
170              
171             has tickfont => ( is => "rw",
172             isa => "Maybe[HashRef]|Chart::Plotly::Trace::Funnel::Marker::Colorbar::Tickfont", );
173              
174             has tickformat => (
175             is => "rw",
176             isa => "Str",
177             documentation =>
178             "Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*",
179             );
180              
181             has tickformatstops => ( is => "rw",
182             isa => "ArrayRef|ArrayRef[Chart::Plotly::Trace::Funnel::Marker::Colorbar::Tickformatstop]", );
183              
184             has ticklabeloverflow => (
185             is => "rw",
186             isa => enum( [ "allow", "hide past div", "hide past domain" ] ),
187             documentation =>
188             "Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.",
189             );
190              
191             has ticklabelposition => (
192             is => "rw",
193             isa => enum(
194             [ "outside",
195             "inside",
196             "outside top",
197             "inside top",
198             "outside left",
199             "inside left",
200             "outside right",
201             "inside right",
202             "outside bottom",
203             "inside bottom"
204             ]
205             ),
206             documentation =>
207             "Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.",
208             );
209              
210             has ticklabelstep => (
211             is => "rw",
212             isa => "Int",
213             documentation =>
214             "Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.",
215             );
216              
217             has ticklen => ( is => "rw",
218             isa => "Num",
219             documentation => "Sets the tick length (in px).",
220             );
221              
222             has tickmode => (
223             is => "rw",
224             isa => enum( [ "auto", "linear", "array" ] ),
225             documentation =>
226             "Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).",
227             );
228              
229             has tickprefix => ( is => "rw",
230             isa => "Str",
231             documentation => "Sets a tick label prefix.",
232             );
233              
234             has ticks => (
235             is => "rw",
236             isa => enum( [ "outside", "inside", "" ] ),
237             documentation =>
238             "Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.",
239             );
240              
241             has ticksuffix => ( is => "rw",
242             isa => "Str",
243             documentation => "Sets a tick label suffix.",
244             );
245              
246             has ticktext => (
247             is => "rw",
248             isa => "ArrayRef|PDL",
249             documentation =>
250             "Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.",
251             );
252              
253             has ticktextsrc => ( is => "rw",
254             isa => "Str",
255             documentation => "Sets the source reference on Chart Studio Cloud for `ticktext`.",
256             );
257              
258             has tickvals => (
259             is => "rw",
260             isa => "ArrayRef|PDL",
261             documentation =>
262             "Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.",
263             );
264              
265             has tickvalssrc => ( is => "rw",
266             isa => "Str",
267             documentation => "Sets the source reference on Chart Studio Cloud for `tickvals`.",
268             );
269              
270             has tickwidth => ( is => "rw",
271             isa => "Num",
272             documentation => "Sets the tick width (in px).",
273             );
274              
275             has title => ( is => "rw",
276             isa => "Maybe[HashRef]|Chart::Plotly::Trace::Funnel::Marker::Colorbar::Title", );
277              
278             has x => (
279             is => "rw",
280             isa => "Num",
281             documentation =>
282             "Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.",
283             );
284              
285             has xanchor => (
286             is => "rw",
287             isa => enum( [ "left", "center", "right" ] ),
288             documentation =>
289             "Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.",
290             );
291              
292             has xpad => ( is => "rw",
293             isa => "Num",
294             documentation => "Sets the amount of padding (in px) along the x direction.",
295             );
296              
297             has y => (
298             is => "rw",
299             isa => "Num",
300             documentation =>
301             "Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.",
302             );
303              
304             has yanchor => (
305             is => "rw",
306             isa => enum( [ "top", "middle", "bottom" ] ),
307             documentation =>
308             "Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.",
309             );
310              
311             has ypad => ( is => "rw",
312             isa => "Num",
313             documentation => "Sets the amount of padding (in px) along the y direction.",
314             );
315              
316             __PACKAGE__->meta->make_immutable();
317             1;
318              
319              
320             =pod
321              
322             =encoding utf-8
323              
324             =head1 NAME
325              
326             Chart::Plotly::Trace::Funnel::Marker::Colorbar - This attribute is one of the possible options for the trace funnel.
327              
328             =head1 VERSION
329              
330             version 0.042
331              
332             =head1 SYNOPSIS
333              
334             use Chart::Plotly;
335             use Chart::Plotly::Plot;
336             use JSON;
337             use Chart::Plotly::Trace::Funnel;
338            
339             # Example from https://github.com/plotly/plotly.js/blob/b93e3a5a83b6561ac6258a59f274b5fc87630c3e/test/image/mocks/funnel_11.json
340             my $trace1 = Chart::Plotly::Trace::Funnel->new({'orientation' => 'v', 'marker' => {'color' => 'rgb(255, 102, 97)', }, 'y' => [13.23, 22.7, 26.06, ], 'x' => ['Half Dose', 'Full Dose', 'Double Dose', ], 'name' => 'Orange Juice', });
341            
342             my $trace2 = Chart::Plotly::Trace::Funnel->new({'name' => 'Vitamin C', 'marker' => {'color' => 'rgb(0, 196, 200)', }, 'y' => [7.98, 16.77, 26.14, ], 'x' => ['Half Dose', 'Full Dose', 'Double Dose', ], 'orientation' => 'v', });
343            
344             my $trace3 = Chart::Plotly::Trace::Funnel->new({'name' => 'Std Dev - OJ', 'x' => ['Half Dose', 'Full Dose', 'Double Dose', ], 'y' => [1.4102837, 1.236752, 0.8396031, ], 'visible' => JSON::false, 'orientation' => 'v', });
345            
346             my $trace4 = Chart::Plotly::Trace::Funnel->new({'y' => [0.868562, 0.7954104, 1.5171757, ], 'x' => ['Half Dose', 'Full Dose', 'Double Dose', ], 'name' => 'Std Dev - VC', 'orientation' => 'v', 'visible' => JSON::false, });
347            
348            
349             my $plot = Chart::Plotly::Plot->new(
350             traces => [$trace1, $trace2, $trace3, $trace4, ],
351             layout =>
352             {'autosize' => JSON::false, 'hidesources' => JSON::false, 'plot_bgcolor' => 'rgb(217, 217, 217)', 'font' => {'color' => '#000', 'size' => 12, 'family' => 'Arial, sans-serif', }, 'width' => 600, 'separators' => '.,', 'legend' => {'xanchor' => 'left', 'font' => {'size' => 16, 'family' => '', 'color' => 'rgb(0, 0, 0)', }, 'bgcolor' => 'rgba(255, 255, 255, 0)', 'bordercolor' => 'rgba(0, 0, 0, 0)', 'yanchor' => 'auto', 'x' => 1.02, 'y' => 0.931907250442406, 'borderwidth' => 1, 'traceorder' => 'normal', }, 'funnelgroupgap' => 0, 'funnelgap' => 0.2, 'annotations' => [{'tag' => '', 'yatype' => 'linear', 'showarrow' => JSON::false, 'xanchor' => 'auto', 'bgcolor' => 'rgba(0,0,0,0)', 'arrowhead' => 1, 'yref' => 'paper', 'ax' => -10, 'align' => 'center', 'yanchor' => 'auto', 'xatype' => 'category', 'bordercolor' => '', 'ref' => 'paper', 'text' => '<b>Supplement</b>', 'x' => 1.3479735318445, 'y' => 0.998214285714286, 'opacity' => 1, 'arrowwidth' => 0, 'font' => {'size' => 18, 'family' => '', 'color' => '', }, 'ay' => -26.7109375, 'arrowcolor' => '', 'borderpad' => 1, 'borderwidth' => 1, 'xref' => 'paper', 'arrowsize' => 1, }, ], 'height' => 440, 'dragmode' => 'zoom', 'hovermode' => 'x', 'paper_bgcolor' => '#fff', 'boxmode' => 'overlay', 'showlegend' => JSON::true, 'titlefont' => {'family' => '', 'size' => 16, 'color' => '', }, 'title' => 'Grouped Funnel Chart', 'margin' => {'r' => 0, 't' => 80, 'b' => 80, 'l' => 80, 'autoexpand' => JSON::true, 'pad' => 2, }, 'yaxis' => {'gridcolor' => 'rgb(255, 255, 255)', 'autotick' => JSON::true, 'ticks' => '', 'tickfont' => {'color' => '', 'size' => 16, 'family' => '', }, 'mirror' => JSON::true, 'tickangle' => 0, 'domain' => [0, 1, ], 'anchor' => 'x', 'showgrid' => JSON::true, 'exponentformat' => 'e', 'tick0' => 0, 'showticklabels' => JSON::true, 'nticks' => 0, 'zerolinewidth' => 1, 'zeroline' => JSON::false, 'position' => 0, 'range' => [0, 29.1128165263158, ], 'dtick' => 5, 'showexponent' => 'all', 'showline' => JSON::false, 'linecolor' => '#000', 'type' => 'linear', 'linewidth' => 0.1, 'overlaying' => JSON::false, 'ticklen' => 5, 'rangemode' => 'normal', 'tickwidth' => 1, 'tickcolor' => '#000', 'title' => 'Length', 'autorange' => JSON::true, 'titlefont' => {'size' => 16, 'family' => '', 'color' => '', }, 'zerolinecolor' => '#000', 'gridwidth' => 1.9, }, 'funnelmode' => 'group', 'xaxis' => {'ticks' => '', 'autotick' => JSON::true, 'gridcolor' => 'rgb(255, 255, 255)', 'tickfont' => {'color' => '', 'family' => '', 'size' => 16, }, 'mirror' => JSON::true, 'anchor' => 'y', 'tickangle' => 0, 'domain' => [0, 1, ], 'showgrid' => JSON::true, 'exponentformat' => 'e', 'tick0' => 0, 'showticklabels' => JSON::true, 'range' => [-0.5, 2.5, ], 'nticks' => 0, 'zerolinewidth' => 1, 'zeroline' => JSON::false, 'position' => 0, 'showexponent' => 'all', 'dtick' => 1, 'showline' => JSON::false, 'type' => 'category', 'linecolor' => '#000', 'overlaying' => JSON::false, 'linewidth' => 0.1, 'ticklen' => 5, 'rangemode' => 'normal', 'titlefont' => {'size' => 16, 'family' => '', 'color' => '', }, 'autorange' => JSON::true, 'title' => 'Dose (mg)', 'tickwidth' => 1, 'tickcolor' => '#000', 'gridwidth' => 1.9, 'zerolinecolor' => '#000', }, }
353             );
354            
355             Chart::Plotly::show_plot($plot);
356              
357             =head1 DESCRIPTION
358              
359             This attribute is part of the possible options for the trace funnel.
360              
361             This file has been autogenerated from the official plotly.js source.
362              
363             If you like Plotly, please support them: L<https://plot.ly/>
364             Open source announcement: L<https://plot.ly/javascript/open-source-announcement/>
365              
366             Full reference: L<https://plot.ly/javascript/reference/#funnel>
367              
368             =head1 DISCLAIMER
369              
370             This is an unofficial Plotly Perl module. Currently I'm not affiliated in any way with Plotly.
371             But I think plotly.js is a great library and I want to use it with perl.
372              
373             =head1 METHODS
374              
375             =head2 TO_JSON
376              
377             Serialize the trace to JSON. This method should be called only by L<JSON> serializer.
378              
379             =head1 ATTRIBUTES
380              
381             =over
382              
383             =item * bgcolor
384              
385             Sets the color of padded area.
386              
387             =item * bordercolor
388              
389             Sets the axis line color.
390              
391             =item * borderwidth
392              
393             Sets the width (in px) or the border enclosing this color bar.
394              
395             =item * dtick
396              
397             Sets the step in-between ticks on this axis. Use with `tick0`. Must be a positive number, or special strings available to *log* and *date* axes. If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n is the tick number. For example, to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1. To set tick marks at 1, 100, 10000, ... set dtick to 2. To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433. *log* has several special values; *L<f>*, where `f` is a positive number, gives ticks linearly spaced in value (but not position). For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc. To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5). `tick0` is ignored for *D1* and *D2*. If the axis `type` is *date*, then you must convert the time to milliseconds. For example, to set the interval between ticks to one day, set `dtick` to 86400000.0. *date* also has special values *n* gives ticks spaced by a number of months. `n` must be a positive integer. To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*. To set ticks every 4 years, set `dtick` to *M48*
398              
399             =item * exponentformat
400              
401             Determines a formatting rule for the tick exponents. For example, consider the number 1,000,000,000. If *none*, it appears as 1,000,000,000. If *e*, 1e+9. If *E*, 1E+9. If *power*, 1x10^9 (with 9 in a super script). If *SI*, 1G. If *B*, 1B.
402              
403             =item * len
404              
405             Sets the length of the color bar This measure excludes the padding of both ends. That is, the color bar length is this length minus the padding on both ends.
406              
407             =item * lenmode
408              
409             Determines whether this color bar's length (i.e. the measure in the color variation direction) is set in units of plot *fraction* or in *pixels. Use `len` to set the value.
410              
411             =item * minexponent
412              
413             Hide SI prefix for 10^n if |n| is below this number. This only has an effect when `tickformat` is *SI* or *B*.
414              
415             =item * nticks
416              
417             Specifies the maximum number of ticks for the particular axis. The actual number of ticks will be chosen automatically to be less than or equal to `nticks`. Has an effect only if `tickmode` is set to *auto*.
418              
419             =item * orientation
420              
421             Sets the orientation of the colorbar.
422              
423             =item * outlinecolor
424              
425             Sets the axis line color.
426              
427             =item * outlinewidth
428              
429             Sets the width (in px) of the axis line.
430              
431             =item * separatethousands
432              
433             If "true", even 4-digit integers are separated
434              
435             =item * showexponent
436              
437             If *all*, all exponents are shown besides their significands. If *first*, only the exponent of the first tick is shown. If *last*, only the exponent of the last tick is shown. If *none*, no exponents appear.
438              
439             =item * showticklabels
440              
441             Determines whether or not the tick labels are drawn.
442              
443             =item * showtickprefix
444              
445             If *all*, all tick labels are displayed with a prefix. If *first*, only the first tick is displayed with a prefix. If *last*, only the last tick is displayed with a suffix. If *none*, tick prefixes are hidden.
446              
447             =item * showticksuffix
448              
449             Same as `showtickprefix` but for tick suffixes.
450              
451             =item * thickness
452              
453             Sets the thickness of the color bar This measure excludes the size of the padding, ticks and labels.
454              
455             =item * thicknessmode
456              
457             Determines whether this color bar's thickness (i.e. the measure in the constant color direction) is set in units of plot *fraction* or in *pixels*. Use `thickness` to set the value.
458              
459             =item * tick0
460              
461             Sets the placement of the first tick on this axis. Use with `dtick`. If the axis `type` is *log*, then you must take the log of your starting tick (e.g. to set the starting tick to 100, set the `tick0` to 2) except when `dtick`=*L<f>* (see `dtick` for more info). If the axis `type` is *date*, it should be a date string, like date data. If the axis `type` is *category*, it should be a number, using the scale where each category is assigned a serial number from zero in the order it appears.
462              
463             =item * tickangle
464              
465             Sets the angle of the tick labels with respect to the horizontal. For example, a `tickangle` of -90 draws the tick labels vertically.
466              
467             =item * tickcolor
468              
469             Sets the tick color.
470              
471             =item * tickfont
472              
473             =item * tickformat
474              
475             Sets the tick label formatting rule using d3 formatting mini-languages which are very similar to those in Python. For numbers, see: https://github.com/d3/d3-format/tree/v1.4.5#d3-format. And for dates see: https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format. We add two items to d3's date formatter: *%h* for half of the year as a decimal number as well as *%{n}f* for fractional seconds with n digits. For example, *2016-10-13 09:15:23.456* with tickformat *%H~%M~%S.%2f* would display *09~15~23.46*
476              
477             =item * tickformatstops
478              
479             =item * ticklabeloverflow
480              
481             Determines how we handle tick labels that would overflow either the graph div or the domain of the axis. The default value for inside tick labels is *hide past domain*. In other cases the default is *hide past div*.
482              
483             =item * ticklabelposition
484              
485             Determines where tick labels are drawn relative to the ticks. Left and right options are used when `orientation` is *h*, top and bottom when `orientation` is *v*.
486              
487             =item * ticklabelstep
488              
489             Sets the spacing between tick labels as compared to the spacing between ticks. A value of 1 (default) means each tick gets a label. A value of 2 means shows every 2nd label. A larger value n means only every nth tick is labeled. `tick0` determines which labels are shown. Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.
490              
491             =item * ticklen
492              
493             Sets the tick length (in px).
494              
495             =item * tickmode
496              
497             Sets the tick mode for this axis. If *auto*, the number of ticks is set via `nticks`. If *linear*, the placement of the ticks is determined by a starting position `tick0` and a tick step `dtick` (*linear* is the default value if `tick0` and `dtick` are provided). If *array*, the placement of the ticks is set via `tickvals` and the tick text is `ticktext`. (*array* is the default value if `tickvals` is provided).
498              
499             =item * tickprefix
500              
501             Sets a tick label prefix.
502              
503             =item * ticks
504              
505             Determines whether ticks are drawn or not. If **, this axis' ticks are not drawn. If *outside* (*inside*), this axis' are drawn outside (inside) the axis lines.
506              
507             =item * ticksuffix
508              
509             Sets a tick label suffix.
510              
511             =item * ticktext
512              
513             Sets the text displayed at the ticks position via `tickvals`. Only has an effect if `tickmode` is set to *array*. Used with `tickvals`.
514              
515             =item * ticktextsrc
516              
517             Sets the source reference on Chart Studio Cloud for `ticktext`.
518              
519             =item * tickvals
520              
521             Sets the values at which ticks on this axis appear. Only has an effect if `tickmode` is set to *array*. Used with `ticktext`.
522              
523             =item * tickvalssrc
524              
525             Sets the source reference on Chart Studio Cloud for `tickvals`.
526              
527             =item * tickwidth
528              
529             Sets the tick width (in px).
530              
531             =item * title
532              
533             =item * x
534              
535             Sets the x position of the color bar (in plot fraction). Defaults to 1.02 when `orientation` is *v* and 0.5 when `orientation` is *h*.
536              
537             =item * xanchor
538              
539             Sets this color bar's horizontal position anchor. This anchor binds the `x` position to the *left*, *center* or *right* of the color bar. Defaults to *left* when `orientation` is *v* and *center* when `orientation` is *h*.
540              
541             =item * xpad
542              
543             Sets the amount of padding (in px) along the x direction.
544              
545             =item * y
546              
547             Sets the y position of the color bar (in plot fraction). Defaults to 0.5 when `orientation` is *v* and 1.02 when `orientation` is *h*.
548              
549             =item * yanchor
550              
551             Sets this color bar's vertical position anchor This anchor binds the `y` position to the *top*, *middle* or *bottom* of the color bar. Defaults to *middle* when `orientation` is *v* and *bottom* when `orientation` is *h*.
552              
553             =item * ypad
554              
555             Sets the amount of padding (in px) along the y direction.
556              
557             =back
558              
559             =head1 AUTHOR
560              
561             Pablo Rodríguez González <pablo.rodriguez.gonzalez@gmail.com>
562              
563             =head1 COPYRIGHT AND LICENSE
564              
565             This software is Copyright (c) 2022 by Pablo Rodríguez González.
566              
567             This is free software, licensed under:
568              
569             The MIT (X11) License
570              
571             =cut