1from plotly.basedatatypes import BaseLayoutHierarchyType as _BaseLayoutHierarchyType
2import copy as _copy
3
4
5class RadialAxis(_BaseLayoutHierarchyType):
6
7    # class properties
8    # --------------------
9    _parent_path_str = "layout"
10    _path_str = "layout.radialaxis"
11    _valid_props = {
12        "domain",
13        "endpadding",
14        "orientation",
15        "range",
16        "showline",
17        "showticklabels",
18        "tickcolor",
19        "ticklen",
20        "tickorientation",
21        "ticksuffix",
22        "visible",
23    }
24
25    # domain
26    # ------
27    @property
28    def domain(self):
29        """
30        Polar chart subplots are not supported yet. This key has
31        currently no effect.
32
33        The 'domain' property is an info array that may be specified as:
34
35        * a list or tuple of 2 elements where:
36    (0) The 'domain[0]' property is a number and may be specified as:
37          - An int or float in the interval [0, 1]
38    (1) The 'domain[1]' property is a number and may be specified as:
39          - An int or float in the interval [0, 1]
40
41        Returns
42        -------
43        list
44        """
45        return self["domain"]
46
47    @domain.setter
48    def domain(self, val):
49        self["domain"] = val
50
51    # endpadding
52    # ----------
53    @property
54    def endpadding(self):
55        """
56        Legacy polar charts are deprecated! Please switch to "polar"
57        subplots.
58
59        The 'endpadding' property is a number and may be specified as:
60          - An int or float
61
62        Returns
63        -------
64        int|float
65        """
66        return self["endpadding"]
67
68    @endpadding.setter
69    def endpadding(self, val):
70        self["endpadding"] = val
71
72    # orientation
73    # -----------
74    @property
75    def orientation(self):
76        """
77        Legacy polar charts are deprecated! Please switch to "polar"
78        subplots. Sets the orientation (an angle with respect to the
79        origin) of the radial axis.
80
81        The 'orientation' property is a number and may be specified as:
82          - An int or float
83
84        Returns
85        -------
86        int|float
87        """
88        return self["orientation"]
89
90    @orientation.setter
91    def orientation(self, val):
92        self["orientation"] = val
93
94    # range
95    # -----
96    @property
97    def range(self):
98        """
99        Legacy polar charts are deprecated! Please switch to "polar"
100        subplots. Defines the start and end point of this radial axis.
101
102        The 'range' property is an info array that may be specified as:
103
104        * a list or tuple of 2 elements where:
105    (0) The 'range[0]' property is a number and may be specified as:
106          - An int or float
107    (1) The 'range[1]' property is a number and may be specified as:
108          - An int or float
109
110        Returns
111        -------
112        list
113        """
114        return self["range"]
115
116    @range.setter
117    def range(self, val):
118        self["range"] = val
119
120    # showline
121    # --------
122    @property
123    def showline(self):
124        """
125        Legacy polar charts are deprecated! Please switch to "polar"
126        subplots. Determines whether or not the line bounding this
127        radial axis will be shown on the figure.
128
129        The 'showline' property must be specified as a bool
130        (either True, or False)
131
132        Returns
133        -------
134        bool
135        """
136        return self["showline"]
137
138    @showline.setter
139    def showline(self, val):
140        self["showline"] = val
141
142    # showticklabels
143    # --------------
144    @property
145    def showticklabels(self):
146        """
147        Legacy polar charts are deprecated! Please switch to "polar"
148        subplots. Determines whether or not the radial axis ticks will
149        feature tick labels.
150
151        The 'showticklabels' property must be specified as a bool
152        (either True, or False)
153
154        Returns
155        -------
156        bool
157        """
158        return self["showticklabels"]
159
160    @showticklabels.setter
161    def showticklabels(self, val):
162        self["showticklabels"] = val
163
164    # tickcolor
165    # ---------
166    @property
167    def tickcolor(self):
168        """
169        Legacy polar charts are deprecated! Please switch to "polar"
170        subplots. Sets the color of the tick lines on this radial axis.
171
172        The 'tickcolor' property is a color and may be specified as:
173          - A hex string (e.g. '#ff0000')
174          - An rgb/rgba string (e.g. 'rgb(255,0,0)')
175          - An hsl/hsla string (e.g. 'hsl(0,100%,50%)')
176          - An hsv/hsva string (e.g. 'hsv(0,100%,100%)')
177          - A named CSS color:
178                aliceblue, antiquewhite, aqua, aquamarine, azure,
179                beige, bisque, black, blanchedalmond, blue,
180                blueviolet, brown, burlywood, cadetblue,
181                chartreuse, chocolate, coral, cornflowerblue,
182                cornsilk, crimson, cyan, darkblue, darkcyan,
183                darkgoldenrod, darkgray, darkgrey, darkgreen,
184                darkkhaki, darkmagenta, darkolivegreen, darkorange,
185                darkorchid, darkred, darksalmon, darkseagreen,
186                darkslateblue, darkslategray, darkslategrey,
187                darkturquoise, darkviolet, deeppink, deepskyblue,
188                dimgray, dimgrey, dodgerblue, firebrick,
189                floralwhite, forestgreen, fuchsia, gainsboro,
190                ghostwhite, gold, goldenrod, gray, grey, green,
191                greenyellow, honeydew, hotpink, indianred, indigo,
192                ivory, khaki, lavender, lavenderblush, lawngreen,
193                lemonchiffon, lightblue, lightcoral, lightcyan,
194                lightgoldenrodyellow, lightgray, lightgrey,
195                lightgreen, lightpink, lightsalmon, lightseagreen,
196                lightskyblue, lightslategray, lightslategrey,
197                lightsteelblue, lightyellow, lime, limegreen,
198                linen, magenta, maroon, mediumaquamarine,
199                mediumblue, mediumorchid, mediumpurple,
200                mediumseagreen, mediumslateblue, mediumspringgreen,
201                mediumturquoise, mediumvioletred, midnightblue,
202                mintcream, mistyrose, moccasin, navajowhite, navy,
203                oldlace, olive, olivedrab, orange, orangered,
204                orchid, palegoldenrod, palegreen, paleturquoise,
205                palevioletred, papayawhip, peachpuff, peru, pink,
206                plum, powderblue, purple, red, rosybrown,
207                royalblue, rebeccapurple, saddlebrown, salmon,
208                sandybrown, seagreen, seashell, sienna, silver,
209                skyblue, slateblue, slategray, slategrey, snow,
210                springgreen, steelblue, tan, teal, thistle, tomato,
211                turquoise, violet, wheat, white, whitesmoke,
212                yellow, yellowgreen
213
214        Returns
215        -------
216        str
217        """
218        return self["tickcolor"]
219
220    @tickcolor.setter
221    def tickcolor(self, val):
222        self["tickcolor"] = val
223
224    # ticklen
225    # -------
226    @property
227    def ticklen(self):
228        """
229        Legacy polar charts are deprecated! Please switch to "polar"
230        subplots. Sets the length of the tick lines on this radial
231        axis.
232
233        The 'ticklen' property is a number and may be specified as:
234          - An int or float in the interval [0, inf]
235
236        Returns
237        -------
238        int|float
239        """
240        return self["ticklen"]
241
242    @ticklen.setter
243    def ticklen(self, val):
244        self["ticklen"] = val
245
246    # tickorientation
247    # ---------------
248    @property
249    def tickorientation(self):
250        """
251        Legacy polar charts are deprecated! Please switch to "polar"
252        subplots. Sets the orientation (from the paper perspective) of
253        the radial axis tick labels.
254
255        The 'tickorientation' property is an enumeration that may be specified as:
256          - One of the following enumeration values:
257                ['horizontal', 'vertical']
258
259        Returns
260        -------
261        Any
262        """
263        return self["tickorientation"]
264
265    @tickorientation.setter
266    def tickorientation(self, val):
267        self["tickorientation"] = val
268
269    # ticksuffix
270    # ----------
271    @property
272    def ticksuffix(self):
273        """
274        Legacy polar charts are deprecated! Please switch to "polar"
275        subplots. Sets the length of the tick lines on this radial
276        axis.
277
278        The 'ticksuffix' property is a string and must be specified as:
279          - A string
280          - A number that will be converted to a string
281
282        Returns
283        -------
284        str
285        """
286        return self["ticksuffix"]
287
288    @ticksuffix.setter
289    def ticksuffix(self, val):
290        self["ticksuffix"] = val
291
292    # visible
293    # -------
294    @property
295    def visible(self):
296        """
297        Legacy polar charts are deprecated! Please switch to "polar"
298        subplots. Determines whether or not this axis will be visible.
299
300        The 'visible' property must be specified as a bool
301        (either True, or False)
302
303        Returns
304        -------
305        bool
306        """
307        return self["visible"]
308
309    @visible.setter
310    def visible(self, val):
311        self["visible"] = val
312
313    # Self properties description
314    # ---------------------------
315    @property
316    def _prop_descriptions(self):
317        return """\
318        domain
319            Polar chart subplots are not supported yet. This key
320            has currently no effect.
321        endpadding
322            Legacy polar charts are deprecated! Please switch to
323            "polar" subplots.
324        orientation
325            Legacy polar charts are deprecated! Please switch to
326            "polar" subplots. Sets the orientation (an angle with
327            respect to the origin) of the radial axis.
328        range
329            Legacy polar charts are deprecated! Please switch to
330            "polar" subplots. Defines the start and end point of
331            this radial axis.
332        showline
333            Legacy polar charts are deprecated! Please switch to
334            "polar" subplots. Determines whether or not the line
335            bounding this radial axis will be shown on the figure.
336        showticklabels
337            Legacy polar charts are deprecated! Please switch to
338            "polar" subplots. Determines whether or not the radial
339            axis ticks will feature tick labels.
340        tickcolor
341            Legacy polar charts are deprecated! Please switch to
342            "polar" subplots. Sets the color of the tick lines on
343            this radial axis.
344        ticklen
345            Legacy polar charts are deprecated! Please switch to
346            "polar" subplots. Sets the length of the tick lines on
347            this radial axis.
348        tickorientation
349            Legacy polar charts are deprecated! Please switch to
350            "polar" subplots. Sets the orientation (from the paper
351            perspective) of the radial axis tick labels.
352        ticksuffix
353            Legacy polar charts are deprecated! Please switch to
354            "polar" subplots. Sets the length of the tick lines on
355            this radial axis.
356        visible
357            Legacy polar charts are deprecated! Please switch to
358            "polar" subplots. Determines whether or not this axis
359            will be visible.
360        """
361
362    def __init__(
363        self,
364        arg=None,
365        domain=None,
366        endpadding=None,
367        orientation=None,
368        range=None,
369        showline=None,
370        showticklabels=None,
371        tickcolor=None,
372        ticklen=None,
373        tickorientation=None,
374        ticksuffix=None,
375        visible=None,
376        **kwargs
377    ):
378        """
379        Construct a new RadialAxis object
380
381        Parameters
382        ----------
383        arg
384            dict of properties compatible with this constructor or
385            an instance of
386            :class:`plotly.graph_objs.layout.RadialAxis`
387        domain
388            Polar chart subplots are not supported yet. This key
389            has currently no effect.
390        endpadding
391            Legacy polar charts are deprecated! Please switch to
392            "polar" subplots.
393        orientation
394            Legacy polar charts are deprecated! Please switch to
395            "polar" subplots. Sets the orientation (an angle with
396            respect to the origin) of the radial axis.
397        range
398            Legacy polar charts are deprecated! Please switch to
399            "polar" subplots. Defines the start and end point of
400            this radial axis.
401        showline
402            Legacy polar charts are deprecated! Please switch to
403            "polar" subplots. Determines whether or not the line
404            bounding this radial axis will be shown on the figure.
405        showticklabels
406            Legacy polar charts are deprecated! Please switch to
407            "polar" subplots. Determines whether or not the radial
408            axis ticks will feature tick labels.
409        tickcolor
410            Legacy polar charts are deprecated! Please switch to
411            "polar" subplots. Sets the color of the tick lines on
412            this radial axis.
413        ticklen
414            Legacy polar charts are deprecated! Please switch to
415            "polar" subplots. Sets the length of the tick lines on
416            this radial axis.
417        tickorientation
418            Legacy polar charts are deprecated! Please switch to
419            "polar" subplots. Sets the orientation (from the paper
420            perspective) of the radial axis tick labels.
421        ticksuffix
422            Legacy polar charts are deprecated! Please switch to
423            "polar" subplots. Sets the length of the tick lines on
424            this radial axis.
425        visible
426            Legacy polar charts are deprecated! Please switch to
427            "polar" subplots. Determines whether or not this axis
428            will be visible.
429
430        Returns
431        -------
432        RadialAxis
433        """
434        super(RadialAxis, self).__init__("radialaxis")
435
436        if "_parent" in kwargs:
437            self._parent = kwargs["_parent"]
438            return
439
440        # Validate arg
441        # ------------
442        if arg is None:
443            arg = {}
444        elif isinstance(arg, self.__class__):
445            arg = arg.to_plotly_json()
446        elif isinstance(arg, dict):
447            arg = _copy.copy(arg)
448        else:
449            raise ValueError(
450                """\
451The first argument to the plotly.graph_objs.layout.RadialAxis
452constructor must be a dict or
453an instance of :class:`plotly.graph_objs.layout.RadialAxis`"""
454            )
455
456        # Handle skip_invalid
457        # -------------------
458        self._skip_invalid = kwargs.pop("skip_invalid", False)
459        self._validate = kwargs.pop("_validate", True)
460
461        # Populate data dict with properties
462        # ----------------------------------
463        _v = arg.pop("domain", None)
464        _v = domain if domain is not None else _v
465        if _v is not None:
466            self["domain"] = _v
467        _v = arg.pop("endpadding", None)
468        _v = endpadding if endpadding is not None else _v
469        if _v is not None:
470            self["endpadding"] = _v
471        _v = arg.pop("orientation", None)
472        _v = orientation if orientation is not None else _v
473        if _v is not None:
474            self["orientation"] = _v
475        _v = arg.pop("range", None)
476        _v = range if range is not None else _v
477        if _v is not None:
478            self["range"] = _v
479        _v = arg.pop("showline", None)
480        _v = showline if showline is not None else _v
481        if _v is not None:
482            self["showline"] = _v
483        _v = arg.pop("showticklabels", None)
484        _v = showticklabels if showticklabels is not None else _v
485        if _v is not None:
486            self["showticklabels"] = _v
487        _v = arg.pop("tickcolor", None)
488        _v = tickcolor if tickcolor is not None else _v
489        if _v is not None:
490            self["tickcolor"] = _v
491        _v = arg.pop("ticklen", None)
492        _v = ticklen if ticklen is not None else _v
493        if _v is not None:
494            self["ticklen"] = _v
495        _v = arg.pop("tickorientation", None)
496        _v = tickorientation if tickorientation is not None else _v
497        if _v is not None:
498            self["tickorientation"] = _v
499        _v = arg.pop("ticksuffix", None)
500        _v = ticksuffix if ticksuffix is not None else _v
501        if _v is not None:
502            self["ticksuffix"] = _v
503        _v = arg.pop("visible", None)
504        _v = visible if visible is not None else _v
505        if _v is not None:
506            self["visible"] = _v
507
508        # Process unknown kwargs
509        # ----------------------
510        self._process_kwargs(**dict(arg, **kwargs))
511
512        # Reset skip_invalid
513        # ------------------
514        self._skip_invalid = False
515