def __init__(self, arg=None, color=None, colorsrc=None, family=None, familysrc=None, size=None, sizesrc=None, **kwargs):
    '\n        Construct a new Font object\n        \n        Sets the font used in hover labels.\n\n        Parameters\n        ----------\n        arg\n            dict of properties compatible with this constructor or\n            an instance of\n            plotly_study.graph_objs.streamtube.hoverlabel.Font\n        color\n\n        colorsrc\n            Sets the source reference on plot.ly for  color .\n        family\n            HTML font family - the typeface that will be applied by\n            the web browser. The web browser will only be able to\n            apply a font if it is available on the system which it\n            operates. Provide multiple font families, separated by\n            commas, to indicate the preference in which to apply\n            fonts if they aren\'t available on the system. The\n            plotly service (at https://plot.ly or on-premise)\n            generates images on a server, where only a select\n            number of fonts are installed and supported. These\n            include "Arial", "Balto", "Courier New", "Droid Sans",,\n            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old\n            Standard TT", "Open Sans", "Overpass", "PT Sans\n            Narrow", "Raleway", "Times New Roman".\n        familysrc\n            Sets the source reference on plot.ly for  family .\n        size\n\n        sizesrc\n            Sets the source reference on plot.ly for  size .\n\n        Returns\n        -------\n        Font\n        '
    super(Font, self).__init__('font')
    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_study.graph_objs.streamtube.hoverlabel.Font \nconstructor must be a dict or \nan instance of plotly_study.graph_objs.streamtube.hoverlabel.Font')
    self._skip_invalid = kwargs.pop('skip_invalid', False)
    from plotly_study.validators.streamtube.hoverlabel import font as v_font
    self._validators['color'] = v_font.ColorValidator()
    self._validators['colorsrc'] = v_font.ColorsrcValidator()
    self._validators['family'] = v_font.FamilyValidator()
    self._validators['familysrc'] = v_font.FamilysrcValidator()
    self._validators['size'] = v_font.SizeValidator()
    self._validators['sizesrc'] = v_font.SizesrcValidator()
    _v = arg.pop('color', None)
    self['color'] = (color if (color is not None) else _v)
    _v = arg.pop('colorsrc', None)
    self['colorsrc'] = (colorsrc if (colorsrc is not None) else _v)
    _v = arg.pop('family', None)
    self['family'] = (family if (family is not None) else _v)
    _v = arg.pop('familysrc', None)
    self['familysrc'] = (familysrc if (familysrc is not None) else _v)
    _v = arg.pop('size', None)
    self['size'] = (size if (size is not None) else _v)
    _v = arg.pop('sizesrc', None)
    self['sizesrc'] = (sizesrc if (sizesrc is not None) else _v)
    self._process_kwargs(**dict(arg, **kwargs))
    self._skip_invalid = False
Construct a new Font object

Sets the font used in hover labels.

Parameters
----------
arg
    dict of properties compatible with this constructor or
    an instance of
    plotly_study.graph_objs.streamtube.hoverlabel.Font
color

colorsrc
    Sets the source reference on plot.ly for  color .
family
    HTML font family - the typeface that will be applied by
    the web browser. The web browser will only be able to
    apply a font if it is available on the system which it
    operates. Provide multiple font families, separated by
    commas, to indicate the preference in which to apply
    fonts if they aren't available on the system. The
    plotly service (at https://plot.ly or on-premise)
    generates images on a server, where only a select
    number of fonts are installed and supported. These
    include "Arial", "Balto", "Courier New", "Droid Sans",,
    "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old
    Standard TT", "Open Sans", "Overpass", "PT Sans
    Narrow", "Raleway", "Times New Roman".
familysrc
    Sets the source reference on plot.ly for  family .
size

sizesrc
    Sets the source reference on plot.ly for  size .

Returns
-------
Font
def __init__(self, arg=None, color=None, colorsrc=None, family=None, familysrc=None, size=None, sizesrc=None, **kwargs):
    '\n        Construct a new Font object\n        \n        Sets the font used in hover labels.\n\n        Parameters\n        ----------\n        arg\n            dict of properties compatible with this constructor or\n            an instance of\n            plotly_study.graph_objs.streamtube.hoverlabel.Font\n        color\n\n        colorsrc\n            Sets the source reference on plot.ly for  color .\n        family\n            HTML font family - the typeface that will be applied by\n            the web browser. The web browser will only be able to\n            apply a font if it is available on the system which it\n            operates. Provide multiple font families, separated by\n            commas, to indicate the preference in which to apply\n            fonts if they aren\'t available on the system. The\n            plotly service (at https://plot.ly or on-premise)\n            generates images on a server, where only a select\n            number of fonts are installed and supported. These\n            include "Arial", "Balto", "Courier New", "Droid Sans",,\n            "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old\n            Standard TT", "Open Sans", "Overpass", "PT Sans\n            Narrow", "Raleway", "Times New Roman".\n        familysrc\n            Sets the source reference on plot.ly for  family .\n        size\n\n        sizesrc\n            Sets the source reference on plot.ly for  size .\n\n        Returns\n        -------\n        Font\n        '
    super(Font, self).__init__('font')
    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_study.graph_objs.streamtube.hoverlabel.Font \nconstructor must be a dict or \nan instance of plotly_study.graph_objs.streamtube.hoverlabel.Font')
    self._skip_invalid = kwargs.pop('skip_invalid', False)
    from plotly_study.validators.streamtube.hoverlabel import font as v_font
    self._validators['color'] = v_font.ColorValidator()
    self._validators['colorsrc'] = v_font.ColorsrcValidator()
    self._validators['family'] = v_font.FamilyValidator()
    self._validators['familysrc'] = v_font.FamilysrcValidator()
    self._validators['size'] = v_font.SizeValidator()
    self._validators['sizesrc'] = v_font.SizesrcValidator()
    _v = arg.pop('color', None)
    self['color'] = (color if (color is not None) else _v)
    _v = arg.pop('colorsrc', None)
    self['colorsrc'] = (colorsrc if (colorsrc is not None) else _v)
    _v = arg.pop('family', None)
    self['family'] = (family if (family is not None) else _v)
    _v = arg.pop('familysrc', None)
    self['familysrc'] = (familysrc if (familysrc is not None) else _v)
    _v = arg.pop('size', None)
    self['size'] = (size if (size is not None) else _v)
    _v = arg.pop('sizesrc', None)
    self['sizesrc'] = (sizesrc if (sizesrc is not None) else _v)
    self._process_kwargs(**dict(arg, **kwargs))
    self._skip_invalid = False