
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "gallery/misc/set_and_get.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        Click :ref:`here <sphx_glr_download_gallery_misc_set_and_get.py>`
        to download the full example code

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gallery_misc_set_and_get.py:


======================
Set and get properties
======================

The pyplot interface allows you to use ``setp`` and ``getp`` to
set and get object properties respectively, as well as to do
introspection on the object.

Setting with ``setp``
=====================

To set the linestyle of a line to be dashed, you use ``setp``::

  >>> line, = plt.plot([1, 2, 3])
  >>> plt.setp(line, linestyle='--')

If you want to know the valid types of arguments, you can provide the
name of the property you want to set without a value::

  >>> plt.setp(line, 'linestyle')
      linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}

If you want to see all the properties that can be set, and their
possible values, you can do::

    >>> plt.setp(line)

``setp`` operates on a single instance or a list of instances.  If you
are in query mode introspecting the possible values, only the first
instance in the sequence is used.  When actually setting values, all
the instances will be set.  For example, suppose you have a list of
two lines, the following will make both lines thicker and red::

    >>> x = np.arange(0, 1, 0.01)
    >>> y1 = np.sin(2*np.pi*x)
    >>> y2 = np.sin(4*np.pi*x)
    >>> lines = plt.plot(x, y1, x, y2)
    >>> plt.setp(lines, linewidth=2, color='r')


Getting with ``getp``
=====================

``getp`` returns the value of a given attribute.  You can use it to query
the value of a single attribute::

    >>> plt.getp(line, 'linewidth')
        0.5

or all the attribute/value pairs::

    >>> plt.getp(line)
        aa = True
        alpha = 1.0
        antialiased = True
        c = b
        clip_on = True
        color = b
        ... long listing skipped ...

Aliases
=======

To reduce keystrokes in interactive mode, a number of properties
have short aliases, e.g., 'lw' for 'linewidth' and 'mec' for
'markeredgecolor'.  When calling set or get in introspection mode,
these properties will be listed as 'fullname' or 'aliasname'.

.. GENERATED FROM PYTHON SOURCE LINES 70-103



.. image:: /gallery/misc/images/sphx_glr_set_and_get_001.png
    :alt: Hi mom
    :class: sphx-glr-single-img


.. rst-class:: sphx-glr-script-out

 Out:

 .. code-block:: none

    Line setters
      agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
      alpha: float or None
      animated: bool
      antialiased or aa: bool
      clip_box: `.Bbox`
      clip_on: bool
      clip_path: Patch or (Path, Transform) or None
      color or c: color
      contains: unknown
      dash_capstyle: {'butt', 'round', 'projecting'}
      dash_joinstyle: {'miter', 'round', 'bevel'}
      dashes: sequence of floats (on/off ink in points) or (None, None)
      data: (2, N) array or two 1D arrays
      drawstyle or ds: {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}, default: 'default'
      figure: `.Figure`
      fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'}
      gid: str
      in_layout: bool
      label: object
      linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
      linewidth or lw: float
      marker: marker style string, `~.path.Path` or `~.markers.MarkerStyle`
      markeredgecolor or mec: color
      markeredgewidth or mew: float
      markerfacecolor or mfc: color
      markerfacecoloralt or mfcalt: color
      markersize or ms: float
      markevery: None or int or (int, int) or slice or List[int] or float or (float, float) or List[bool]
      path_effects: `.AbstractPathEffect`
      picker: unknown
      pickradius: float
      rasterized: bool or None
      sketch_params: (scale: float, length: float, randomness: float)
      snap: bool or None
      solid_capstyle: {'butt', 'round', 'projecting'}
      solid_joinstyle: {'miter', 'round', 'bevel'}
      transform: `matplotlib.transforms.Transform`
      url: str
      visible: bool
      xdata: 1D array
      ydata: 1D array
      zorder: float
    Line getters
        agg_filter = None
        alpha = None
        animated = False
        antialiased or aa = True
        children = []
        clip_box = TransformedBbox(     Bbox(x0=0.0, y0=0.0, x1=1.0, ...
        clip_on = True
        clip_path = None
        color or c = r
        contains = None
        dash_capstyle = butt
        dash_joinstyle = round
        data = (array([0.  , 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, ...
        drawstyle or ds = default
        figure = Figure(640x480)
        fillstyle = full
        gid = None
        in_layout = True
        label = _line0
        linestyle or ls = --
        linewidth or lw = 2.0
        marker = None
        markeredgecolor or mec = r
        markeredgewidth or mew = 1.0
        markerfacecolor or mfc = r
        markerfacecoloralt or mfcalt = none
        markersize or ms = 6.0
        markevery = None
        path = Path(array([[ 0.00000000e+00,  0.00000000e+00],   ...
        path_effects = []
        picker = None
        pickradius = 5
        rasterized = None
        sketch_params = None
        snap = None
        solid_capstyle = projecting
        solid_joinstyle = round
        transform = CompositeGenericTransform(     TransformWrapper(  ...
        transformed_clip_path_and_affine = (None, None)
        url = None
        visible = True
        xdata = [0.   0.01 0.02 0.03 0.04 0.05]...
        xydata = [[0.         0.        ]  [0.01       0.06279052] ...
        ydata = [0.         0.06279052 0.12533323 0.18738131 0.248...
        zorder = 2
    Rectangle setters
      agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
      alpha: float or None
      animated: bool
      antialiased or aa: unknown
      bounds: (left, bottom, width, height)
      capstyle: {'butt', 'round', 'projecting'}
      clip_box: `.Bbox`
      clip_on: bool
      clip_path: Patch or (Path, Transform) or None
      color: color
      contains: unknown
      edgecolor or ec: color or None or 'auto'
      facecolor or fc: color or None
      figure: `.Figure`
      fill: bool
      gid: str
      hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
      height: unknown
      in_layout: bool
      joinstyle: {'miter', 'round', 'bevel'}
      label: object
      linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
      linewidth or lw: float or None
      path_effects: `.AbstractPathEffect`
      picker: None or bool or callable
      rasterized: bool or None
      sketch_params: (scale: float, length: float, randomness: float)
      snap: bool or None
      transform: `.Transform`
      url: str
      visible: bool
      width: unknown
      x: unknown
      xy: (float, float)
      y: unknown
      zorder: float
    Rectangle getters
        agg_filter = None
        alpha = None
        animated = False
        antialiased or aa = True
        bbox = Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0)
        capstyle = butt
        children = []
        clip_box = None
        clip_on = True
        clip_path = None
        contains = None
        data_transform = BboxTransformTo(     TransformedBbox(         Bbox...
        edgecolor or ec = (0.0, 0.0, 0.0, 0.0)
        extents = Bbox(x0=80.0, y0=52.8, x1=576.0, y1=422.4)
        facecolor or fc = (1.0, 1.0, 1.0, 1.0)
        figure = Figure(640x480)
        fill = True
        gid = None
        hatch = None
        height = 1.0
        in_layout = True
        joinstyle = miter
        label = 
        linestyle or ls = solid
        linewidth or lw = 0.0
        patch_transform = CompositeGenericTransform(     BboxTransformTo(   ...
        path = Path(array([[0., 0.],        [1., 0.],        [1.,...
        path_effects = []
        picker = None
        rasterized = None
        sketch_params = None
        snap = None
        transform = CompositeGenericTransform(     CompositeGenericTra...
        transformed_clip_path_and_affine = (None, None)
        url = None
        verts = [[ 80.   52.8]  [576.   52.8]  [576.  422.4]  [ 80...
        visible = True
        width = 1.0
        window_extent = Bbox(x0=80.0, y0=52.8, x1=576.0, y1=422.4)
        x = 0.0
        xy = (0.0, 0.0)
        y = 0.0
        zorder = 1
    Text setters
      agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
      alpha: float or None
      animated: bool
      backgroundcolor: color
      bbox: dict with properties for `.patches.FancyBboxPatch`
      clip_box: `.Bbox`
      clip_on: bool
      clip_path: Patch or (Path, Transform) or None
      color or c: color
      contains: unknown
      figure: `.Figure`
      fontfamily or family: {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
      fontproperties or font or font_properties: `.font_manager.FontProperties` or `str` or `pathlib.Path`
      fontsize or size: float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
      fontstretch or stretch: {a numeric value in range 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
      fontstyle or style: {'normal', 'italic', 'oblique'}
      fontvariant or variant: {'normal', 'small-caps'}
      fontweight or weight: {a numeric value in range 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
      gid: str
      horizontalalignment or ha: {'center', 'right', 'left'}
      in_layout: bool
      label: object
      linespacing: float (multiple of font size)
      multialignment or ma: {'left', 'right', 'center'}
      path_effects: `.AbstractPathEffect`
      picker: None or bool or callable
      position: (float, float)
      rasterized: bool or None
      rotation: float or {'vertical', 'horizontal'}
      rotation_mode: {None, 'default', 'anchor'}
      sketch_params: (scale: float, length: float, randomness: float)
      snap: bool or None
      text: object
      transform: `.Transform`
      url: str
      usetex: bool or None
      verticalalignment or va: {'center', 'top', 'bottom', 'baseline', 'center_baseline'}
      visible: bool
      wrap: bool
      x: float
      y: float
      zorder: float
    Text getters
        agg_filter = None
        alpha = None
        animated = False
        bbox_patch = None
        children = []
        clip_box = None
        clip_on = True
        clip_path = None
        color or c = black
        contains = None
        figure = Figure(640x480)
        fontfamily or family = ['sans-serif']
        fontname or name = DejaVu Sans
        fontproperties or font or font_properties = sans\-serif:style=normal:variant=normal:weight=nor...
        fontsize or size = 12.0
        fontstyle or style = normal
        fontvariant or variant = normal
        fontweight or weight = normal
        gid = None
        horizontalalignment or ha = center
        in_layout = True
        label = 
        path_effects = []
        picker = None
        position = (0.5, 1.0)
        rasterized = None
        rotation = 0.0
        rotation_mode = None
        sketch_params = None
        snap = None
        stretch = normal
        text = Hi mom
        transform = CompositeGenericTransform(     BboxTransformTo(   ...
        transformed_clip_path_and_affine = (None, None)
        unitless_position = (0.5, 1.0)
        url = None
        usetex = False
        verticalalignment or va = baseline
        visible = True
        wrap = False
        zorder = 3






|

.. code-block:: default



    import matplotlib.pyplot as plt
    import numpy as np


    x = np.arange(0, 1.0, 0.01)
    y1 = np.sin(2*np.pi*x)
    y2 = np.sin(4*np.pi*x)
    lines = plt.plot(x, y1, x, y2)
    l1, l2 = lines
    plt.setp(lines, linestyle='--')       # set both to dashed
    plt.setp(l1, linewidth=2, color='r')  # line1 is thick and red
    plt.setp(l2, linewidth=1, color='g')  # line2 is thinner and green


    print('Line setters')
    plt.setp(l1)
    print('Line getters')
    plt.getp(l1)

    print('Rectangle setters')
    plt.setp(plt.gca().patch)
    print('Rectangle getters')
    plt.getp(plt.gca().patch)

    t = plt.title('Hi mom')
    print('Text setters')
    plt.setp(t)
    print('Text getters')
    plt.getp(t)

    plt.show()


.. _sphx_glr_download_gallery_misc_set_and_get.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download sphx-glr-download-python

     :download:`Download Python source code: set_and_get.py <set_and_get.py>`



  .. container:: sphx-glr-download sphx-glr-download-jupyter

     :download:`Download Jupyter notebook: set_and_get.ipynb <set_and_get.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    Keywords: matplotlib code example, codex, python plot, pyplot
    `Gallery generated by Sphinx-Gallery
    <https://sphinx-gallery.readthedocs.io>`_
