def __init__(self, arg=None, align=None, alignsrc=None, bgcolor=None, bgcolorsrc=None, bordercolor=None, bordercolorsrc=None, font=None, namelength=None, namelengthsrc=None, **kwargs):
    '\n        Construct a new Hoverlabel object\n        \n        Parameters\n        ----------\n        arg\n            dict of properties compatible with this constructor or\n            an instance of plotly.graph_objs.scattergeo.Hoverlabel\n        align\n            Sets the horizontal alignment of the text content\n            within hover label box. Has an effect only if the hover\n            label text spans more two or more lines\n        alignsrc\n            Sets the source reference on plot.ly for  align .\n        bgcolor\n            Sets the background color of the hover labels for this\n            trace\n        bgcolorsrc\n            Sets the source reference on plot.ly for  bgcolor .\n        bordercolor\n            Sets the border color of the hover labels for this\n            trace.\n        bordercolorsrc\n            Sets the source reference on plot.ly for  bordercolor .\n        font\n            Sets the font used in hover labels.\n        namelength\n            Sets the default length (in number of characters) of\n            the trace name in the hover labels for all traces. -1\n            shows the whole name regardless of length. 0-3 shows\n            the first 0-3 characters, and an integer >3 will show\n            the whole name if it is less than that many characters,\n            but if it is longer, will truncate to `namelength - 3`\n            characters and add an ellipsis.\n        namelengthsrc\n            Sets the source reference on plot.ly for  namelength .\n\n        Returns\n        -------\n        Hoverlabel\n        '
    super(Hoverlabel, self).__init__('hoverlabel')
    if (arg is None):
        arg = {}
    elif isinstance(arg, self.__class__):
        arg = arg.to_plotly_json()
    elif isinstance(arg, dict):
        arg = _copy.copy(arg)
    else:
        raise ValueError('The first argument to the plotly.graph_objs.scattergeo.Hoverlabel \nconstructor must be a dict or \nan instance of plotly.graph_objs.scattergeo.Hoverlabel')
    self._skip_invalid = kwargs.pop('skip_invalid', False)
    from plotly.validators.scattergeo import hoverlabel as v_hoverlabel
    self._validators['align'] = v_hoverlabel.AlignValidator()
    self._validators['alignsrc'] = v_hoverlabel.AlignsrcValidator()
    self._validators['bgcolor'] = v_hoverlabel.BgcolorValidator()
    self._validators['bgcolorsrc'] = v_hoverlabel.BgcolorsrcValidator()
    self._validators['bordercolor'] = v_hoverlabel.BordercolorValidator()
    self._validators['bordercolorsrc'] = v_hoverlabel.BordercolorsrcValidator()
    self._validators['font'] = v_hoverlabel.FontValidator()
    self._validators['namelength'] = v_hoverlabel.NamelengthValidator()
    self._validators['namelengthsrc'] = v_hoverlabel.NamelengthsrcValidator()
    _v = arg.pop('align', None)
    self['align'] = (align if (align is not None) else _v)
    _v = arg.pop('alignsrc', None)
    self['alignsrc'] = (alignsrc if (alignsrc is not None) else _v)
    _v = arg.pop('bgcolor', None)
    self['bgcolor'] = (bgcolor if (bgcolor is not None) else _v)
    _v = arg.pop('bgcolorsrc', None)
    self['bgcolorsrc'] = (bgcolorsrc if (bgcolorsrc is not None) else _v)
    _v = arg.pop('bordercolor', None)
    self['bordercolor'] = (bordercolor if (bordercolor is not None) else _v)
    _v = arg.pop('bordercolorsrc', None)
    self['bordercolorsrc'] = (bordercolorsrc if (bordercolorsrc is not None) else _v)
    _v = arg.pop('font', None)
    self['font'] = (font if (font is not None) else _v)
    _v = arg.pop('namelength', None)
    self['namelength'] = (namelength if (namelength is not None) else _v)
    _v = arg.pop('namelengthsrc', None)
    self['namelengthsrc'] = (namelengthsrc if (namelengthsrc is not None) else _v)
    self._process_kwargs(**dict(arg, **kwargs))
    self._skip_invalid = False
Construct a new Hoverlabel object

Parameters
----------
arg
    dict of properties compatible with this constructor or
    an instance of plotly.graph_objs.scattergeo.Hoverlabel
align
    Sets the horizontal alignment of the text content
    within hover label box. Has an effect only if the hover
    label text spans more two or more lines
alignsrc
    Sets the source reference on plot.ly for  align .
bgcolor
    Sets the background color of the hover labels for this
    trace
bgcolorsrc
    Sets the source reference on plot.ly for  bgcolor .
bordercolor
    Sets the border color of the hover labels for this
    trace.
bordercolorsrc
    Sets the source reference on plot.ly for  bordercolor .
font
    Sets the font used in hover labels.
namelength
    Sets the default length (in number of characters) of
    the trace name in the hover labels for all traces. -1
    shows the whole name regardless of length. 0-3 shows
    the first 0-3 characters, and an integer >3 will show
    the whole name if it is less than that many characters,
    but if it is longer, will truncate to `namelength - 3`
    characters and add an ellipsis.
namelengthsrc
    Sets the source reference on plot.ly for  namelength .

Returns
-------
Hoverlabel
def __init__(self, arg=None, align=None, alignsrc=None, bgcolor=None, bgcolorsrc=None, bordercolor=None, bordercolorsrc=None, font=None, namelength=None, namelengthsrc=None, **kwargs):
    '\n        Construct a new Hoverlabel object\n        \n        Parameters\n        ----------\n        arg\n            dict of properties compatible with this constructor or\n            an instance of plotly.graph_objs.scattergeo.Hoverlabel\n        align\n            Sets the horizontal alignment of the text content\n            within hover label box. Has an effect only if the hover\n            label text spans more two or more lines\n        alignsrc\n            Sets the source reference on plot.ly for  align .\n        bgcolor\n            Sets the background color of the hover labels for this\n            trace\n        bgcolorsrc\n            Sets the source reference on plot.ly for  bgcolor .\n        bordercolor\n            Sets the border color of the hover labels for this\n            trace.\n        bordercolorsrc\n            Sets the source reference on plot.ly for  bordercolor .\n        font\n            Sets the font used in hover labels.\n        namelength\n            Sets the default length (in number of characters) of\n            the trace name in the hover labels for all traces. -1\n            shows the whole name regardless of length. 0-3 shows\n            the first 0-3 characters, and an integer >3 will show\n            the whole name if it is less than that many characters,\n            but if it is longer, will truncate to `namelength - 3`\n            characters and add an ellipsis.\n        namelengthsrc\n            Sets the source reference on plot.ly for  namelength .\n\n        Returns\n        -------\n        Hoverlabel\n        '
    super(Hoverlabel, self).__init__('hoverlabel')
    if (arg is None):
        arg = {}
    elif isinstance(arg, self.__class__):
        arg = arg.to_plotly_json()
    elif isinstance(arg, dict):
        arg = _copy.copy(arg)
    else:
        raise ValueError('The first argument to the plotly.graph_objs.scattergeo.Hoverlabel \nconstructor must be a dict or \nan instance of plotly.graph_objs.scattergeo.Hoverlabel')
    self._skip_invalid = kwargs.pop('skip_invalid', False)
    from plotly.validators.scattergeo import hoverlabel as v_hoverlabel
    self._validators['align'] = v_hoverlabel.AlignValidator()
    self._validators['alignsrc'] = v_hoverlabel.AlignsrcValidator()
    self._validators['bgcolor'] = v_hoverlabel.BgcolorValidator()
    self._validators['bgcolorsrc'] = v_hoverlabel.BgcolorsrcValidator()
    self._validators['bordercolor'] = v_hoverlabel.BordercolorValidator()
    self._validators['bordercolorsrc'] = v_hoverlabel.BordercolorsrcValidator()
    self._validators['font'] = v_hoverlabel.FontValidator()
    self._validators['namelength'] = v_hoverlabel.NamelengthValidator()
    self._validators['namelengthsrc'] = v_hoverlabel.NamelengthsrcValidator()
    _v = arg.pop('align', None)
    self['align'] = (align if (align is not None) else _v)
    _v = arg.pop('alignsrc', None)
    self['alignsrc'] = (alignsrc if (alignsrc is not None) else _v)
    _v = arg.pop('bgcolor', None)
    self['bgcolor'] = (bgcolor if (bgcolor is not None) else _v)
    _v = arg.pop('bgcolorsrc', None)
    self['bgcolorsrc'] = (bgcolorsrc if (bgcolorsrc is not None) else _v)
    _v = arg.pop('bordercolor', None)
    self['bordercolor'] = (bordercolor if (bordercolor is not None) else _v)
    _v = arg.pop('bordercolorsrc', None)
    self['bordercolorsrc'] = (bordercolorsrc if (bordercolorsrc is not None) else _v)
    _v = arg.pop('font', None)
    self['font'] = (font if (font is not None) else _v)
    _v = arg.pop('namelength', None)
    self['namelength'] = (namelength if (namelength is not None) else _v)
    _v = arg.pop('namelengthsrc', None)
    self['namelengthsrc'] = (namelengthsrc if (namelengthsrc is not None) else _v)
    self._process_kwargs(**dict(arg, **kwargs))
    self._skip_invalid = False