PlotAxes.streamplot(x, y, u, v, c, **kwargs)[source]

Plot streamlines.

  • *args (u, v or x, y, u, v) – The data passed as positional or keyword arguments. Interpreted as follows:

    • If only u and v coordinates are passed, try to infer the x and y coordinates from the DataFrame indices and columns or the DataArray coordinates. Otherwise, the y coordinates are np.arange(0, y.shape[0]) and the x coordinates are np.arange(0, y.shape[1]).

    • For pcolor and pcolormesh, calculate coordinate edges using edges or edges2d if centers were provided. For all other methods, calculate coordinate centers if edges were provided.

    • If the x or y coordinates are pint.Quantity, auto-add the pint unit registry to matplotlib’s unit registry using setup_matplotlib. If the u and v coordinates are pint.Quantity, pass the magnitude to the plotting command. A pint.Quantity embedded in an xarray.DataArray is also supported.

  • c, color, colors (array-like or color-spec, optional) – The colors of the streamlines passed as either a keyword argument or a fifth positional argument. This can be a single color or a color array to be scaled by cmap and norm.

  • data (dict-like, optional) – A dict-like dataset container (e.g., DataFrame or Dataset). If passed, each data argument can optionally be a string key and the arrays used for plotting are retrieved with data[key]. This is a native matplotlib feature.

  • autoformat (bool, optional) – Whether the x axis labels, y axis labels, axis formatters, axes titles, legend titles, and colorbar labels are automatically configured when a Series, DataFrame, DataArray, or Quantity is passed to the plotting command. Default is rc.autoformat = True. Formatting of pint.Quantity unit strings is controlled by rc.unitformat = 'L'.

  • transpose (bool, optional) – Whether to transpose the input data. This should be used when passing datasets with column-major dimension order (x, y). Otherwise row-major dimension order (y, x) is expected.

  • order ({'C', 'F'}, optional) – Alternative to transpose. 'C' corresponds to the default C-cyle row-major ordering (equivalent to transpose=False). 'F' corresponds to Fortran-style column-major ordering (equivalent to transpose=True).

  • globe (bool, optional) – For proplot.axes.GeoAxes only. Whether to enforce global coverage. Default is False. When set to True this does the following:

    1. Interpolates input data to the North and South poles by setting the data values at the poles to the mean from latitudes nearest each pole.

    2. Makes meridional coverage “circular”, i.e. the last longitude coordinate equals the first longitude coordinate plus 360°.

    3. When basemap is the backend, cycles 1D longitude vectors to fit within the map edges. For example, if the central longitude is 90°, the data is shifted so that it spans -90° to 270°.

Other Parameters
  • cmap (colormap-spec, optional) – The colormap specifer, passed to the Colormap constructor function.

  • cmap_kw (dict-like, optional) – Passed to Colormap.

  • c, color, colors (color-spec or sequence of color-spec, optional) – The color(s) used to create a DiscreteColormap. If not passed, cmap is used.

  • norm (norm-spec, optional) – The data value normalizer, passed to the Norm constructor function. If discrete is True then 1) this affects the default level-generation algorithm (e.g. norm='log' builds levels in log-space) and 2) this is passed to DiscreteNorm to scale the colors before they are discretized (if norm is not already a DiscreteNorm).

  • norm_kw (dict-like, optional) – Passed to Norm.

  • extend ({'neither', 'both', 'min', 'max'}, optional) – Direction for drawing colorbar “extensions” (i.e. color keys for out-of-bounds data on the end of the colorbar). Default is 'neither'.

  • discrete (bool, optional) – If False, then DiscreteNorm is not applied to the colormap. Instead, for non-contour plots, the number of levels will be roughly controlled by rc['cmap.lut']. This has a similar effect to using levels=large_number but it may improve rendering speed. Default is True for only contour-plotting commands like contourf and pseudocolor-plotting commands like pcolor.

  • sequential, diverging, cyclic, qualitative (bool, optional) – Boolean arguments used if cmap is not passed. Set these to True to use the default rc['cmap.sequential'], rc['cmap.diverging'], rc['cmap.cyclic'], and rc['cmap.qualitative'] colormaps. The diverging option also applies DivergingNorm as the default continuous normalizer.

  • vmin, vmax (float, optional) – The minimum and maximum color scale values used with the norm normalizer. If discrete is False these are the absolute limits, and if discrete is True these are the approximate limits used to automatically determine levels or values lists at “nice” intervals. If levels or values were already passed as lists, these are ignored, and vmin and vmax are set to the minimum and maximum of the lists. If robust was passed, the default vmin and vmax are some percentile range of the data values. Otherwise, the default vmin and vmax are the minimum and maximum of the data values.

  • N – Shorthand for levels.

  • levels (int or sequence of float, optional) – The number of level edges or a sequence of level edges. If the former, locator is used to generate this many level edges at “nice” intervals. If the latter, the levels should be monotonically increasing or decreasing (note decreasing levels fail with contour plots). Default is rc['cmap.levels'] = 11.

  • values (int or sequence of float, optional) – The number of level centers or a sequence of level centers. If the former, locator is used to generate this many level centers at “nice” intervals. If the latter, levels are inferred using edges. This will override any levels input.

  • robust (bool, float, or 2-tuple, optional) – If True and vmin or vmax were not provided, they are determined from the 2nd and 98th data percentiles rather than the minimum and maximum. If float, this percentile range is used (for example, 90 corresponds to the 5th to 95th percentiles). If 2-tuple of float, these specific percentiles should be used. This feature is useful when your data has large outliers. Default is rc['cmap.robust'] = False.

  • inbounds (bool, optional) – If True and vmin or vmax were not provided, when axis limits have been explicitly restricted with set_xlim or set_ylim, out-of-bounds data is ignored. Default is rc['cmap.inbounds'] = True. See also rc['axes.inbounds'].

  • locator (locator-spec, optional) – The locator used to determine level locations if levels or values were not already passed as lists. Passed to the Locator constructor. Default is MaxNLocator with levels integer levels.

  • locator_kw (dict-like, optional) – Keyword arguments passed to matplotlib.ticker.Locator class.

  • symmetric (bool, optional) – If True, the normalization range or discrete colormap levels are symmetric about zero. Default is always False.

  • positive (bool, optional) – If True, the normalization range or discrete colormap levels are positive with a minimum at zero. Default is always False.

  • negative (bool, optional) – If True, the normaliation range or discrete colormap levels are negative with a minimum at zero. Default is always False.

  • nozero (bool, optional) – If True, 0 is removed from the level list. This is mainly useful for single-color contour plots.

  • **kwargs – Passed to matplotlib.axes.Axes.streamplot