You are reading an old version of the documentation (v2.2.0). For the latest version see https://matplotlib.org/stable/gallery/misc/set_and_get.html
Version 2.2.0
matplotlib
Fork me on GitHub

Table Of Contents

Related Topics

This Page

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’.

../../_images/sphx_glr_set_and_get_001.png

Out:

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 <matplotlib.markers>`
  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

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()

Gallery generated by Sphinx-Gallery