.. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_gallery_misc_set_and_get.py: =========== Set And Get =========== The pyplot interface allows you to use setp and getp to set and get object properties, as well as to do introspection on the object set === To set the linestyle of a line to be dashed, you can do:: >>> 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: [ '-' | '--' | '-.' | ':' | 'steps' | 'None' ] If you want to see all the properties that can be set, and their possible values, you can do:: >>> plt.setp(line) set 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. e.g., suppose you have a list of two lines, the following will make both lines thicker and red:: >>> 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) >>> plt.setp(lines, linewidth=2, color='r') get === get returns the value of a given attribute. You can use get 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'. .. image:: /gallery/misc/images/sphx_glr_set_and_get_001.png :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 (0.0 transparent through 1.0 opaque) animated: bool antialiased or aa: bool clip_box: a `.Bbox` instance clip_on: bool clip_path: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None] color or c: any matplotlib color contains: a callable function dash_capstyle: ['butt' | 'round' | 'projecting'] dash_joinstyle: ['miter' | 'round' | 'bevel'] dashes: sequence of on/off ink in points drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post'] figure: a `.Figure` instance fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] gid: an id string label: object linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``] linewidth or lw: float value in points marker: :mod:`A valid marker style ` markeredgecolor or mec: any matplotlib color markeredgewidth or mew: float value in points markerfacecolor or mfc: any matplotlib color markerfacecoloralt or mfcalt: any matplotlib color markersize or ms: float markevery: [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float] path_effects: `.AbstractPathEffect` picker: float distance in points or callable pick function ``fn(artist, event)`` pickradius: float distance in points 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: a :class:`matplotlib.transforms.Transform` instance url: a url string 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 = default figure = Figure(640x480) fillstyle = full gid = None 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: bool or None capstyle: ['butt' | 'round' | 'projecting'] clip_box: a `.Bbox` instance clip_on: bool clip_path: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None] color: matplotlib color spec contains: a callable function edgecolor or ec: mpl color spec, None, 'none', or 'auto' facecolor or fc: mpl color spec, or None for default, or 'none' for no color figure: a `.Figure` instance fill: bool gid: an id string hatch: ['/' | '\\' | '|' | '-' | '+' | 'x' | 'o' | 'O' | '.' | '*'] height: unknown joinstyle: ['miter' | 'round' | 'bevel'] label: object linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``] linewidth or lw: float or None for default path_effects: `.AbstractPathEffect` picker: [None | bool | float | callable] rasterized: bool or None sketch_params: (scale: float, length: float, randomness: float) snap: bool or None transform: `.Transform` url: a url string visible: bool width: unknown x: unknown xy: 2-item sequence y: unknown zorder: float Rectangle getters aa = True 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... ec = (0.0, 0.0, 0.0, 0.0) 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) fc = (1.0, 1.0, 1.0, 1) figure = Figure(640x480) fill = True gid = None hatch = None height = 1.0 joinstyle = miter label = linestyle or ls = solid linewidth or lw = 0.0 ls = solid 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 (0.0 transparent through 1.0 opaque) animated: bool backgroundcolor: any matplotlib color bbox: FancyBboxPatch prop dict clip_box: a :class:`matplotlib.transforms.Bbox` instance clip_on: bool clip_path: [ (:class:`~matplotlib.path.Path`, :class:`~matplotlib.transforms.Transform`) | :class:`~matplotlib.patches.Patch` | None ] color: any matplotlib color contains: a callable function family or fontfamily or fontname or name: [FONTNAME | 'serif' | 'sans-serif' | 'cursive' | 'fantasy' | 'monospace' ] figure: a `.Figure` instance fontproperties or font_properties: a :class:`matplotlib.font_manager.FontProperties` instance gid: an id string horizontalalignment or ha: [ 'center' | 'right' | 'left' ] label: object linespacing: float (multiple of font size) multialignment or ma: ['left' | 'right' | 'center' ] path_effects: `.AbstractPathEffect` picker: [None | bool | float | callable] position: (x,y) rasterized: bool or None rotation: [ angle in degrees | 'vertical' | 'horizontal' ] rotation_mode: [ None | "default" | "anchor" ] size or fontsize: [size in points | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large' ] sketch_params: (scale: float, length: float, randomness: float) snap: bool or None stretch or fontstretch: [a numeric value in range 0-1000 | 'ultra-condensed' | 'extra-condensed' | 'condensed' | 'semi-condensed' | 'normal' | 'semi-expanded' | 'expanded' | 'extra-expanded' | 'ultra-expanded' ] style or fontstyle: [ 'normal' | 'italic' | 'oblique'] text: string or anything printable with '%s' conversion. transform: `.Transform` url: a url string usetex: bool or None variant or fontvariant: [ 'normal' | 'small-caps' ] verticalalignment or va: [ 'center' | 'top' | 'bottom' | 'baseline' ] visible: bool weight or fontweight: [a numeric value in range 0-1000 | 'ultralight' | 'light' | 'normal' | 'regular' | 'book' | 'medium' | 'roman' | 'semibold' | 'demibold' | 'demi' | 'bold' | 'heavy' | 'extra bold' | 'black' ] 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 = k contains = None family or fontfamily or fontname or name = ['sans-serif'] figure = Figure(640x480) fontproperties or font_properties = :family=sans-serif:style=normal:variant=normal:wei... gid = None horizontalalignment or ha = center label = name or fontname = DejaVu Sans path_effects = [] picker = None position = (0.5, 1.0) rasterized = None rotation = 0.0 rotation_mode = None size or fontsize = 12.0 sketch_params = None snap = None stretch or fontstretch = normal style or fontstyle = normal text = Hi mom transform = CompositeGenericTransform( BboxTransformTo( ... transformed_clip_path_and_affine = (None, None) unitless_position = (0.5, 1.0) url = None usetex = False variant or fontvariant = normal verticalalignment or va = baseline visible = True weight or fontweight = normal wrap = False zorder = 3 | .. code-block:: python from __future__ import print_function 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 :download:`Download Python source code: set_and_get.py ` .. container:: sphx-glr-download :download:`Download Jupyter notebook: set_and_get.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature Keywords: matplotlib code example, codex, python plot, pyplot `Gallery generated by Sphinx-Gallery `_