PlotAxes.barh

PlotAxes.barh(*args, **kwargs)[source]

Plot individual, grouped, or stacked bars.

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

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

    • If the x coordinates are a 2D array, plot each column of data in succession (except where each column of data represents a statistical distribution, as with boxplot, violinplot, or when using means=True or medians=True).

    • If any arguments are pint.Quantity, auto-add the pint unit registry to matplotlib’s unit registry using setup_matplotlib. A pint.Quantity embedded in an xarray.DataArray is also supported.

  • width (float or array-like, optional) – The width(s) of the bars relative to the y coordinate step size. Can be passed as a third positional argument.

  • left (float or array-like, optional) – The coordinate(s) of the left edge of the bars. Default is 0. Can be passed as a fourth positinal argument.

  • absolute_width (bool, optional) – Whether to make the width units absolute. If True, this restores the default matplotlib behavior. Default is False.

  • stack, stacked (bool, optional) – Whether to “stack” bars from successive columns of x data or plot bars side-by-side in groups. Default is False.

  • 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'.

Other Parameters
  • cycle (cycle-spec, optional) – The cycle specifer, passed to the Cycle constructor. If the returned cycler is unchanged from the current cycler, the axes cycler will not be reset to its first position. To disable property cycling and just use black for the default color, use cycle=False, cycle='none', or cycle=() (analogous to disabling ticks with e.g. xformatter='none'). To restore the default property cycler, use cycle=True.

  • cycle_kw (dict-like, optional) – Passed to Cycle.

  • lw, linewidth, linewidths (unit-spec, optional) – The edge width of the patch(es). Default is rc['patch.linewidth'] = 0.6. If float, units are points. If string, interpreted by units.

  • ls, linestyle, linestyles (str, optional) – The edge style of the patch(es). Default is '-'.

  • ec, edgecolor, edgecolors (color-spec, optional) – The edge color of the patch(es). Default is 'none'.

  • fc, facecolor, facecolors, fillcolor, fillcolors (color-spec, optional) – The face color of the patch(es). Default is to use the property cycle.

  • a, alpha, alphas (float, optional) – The opacity of the patch(es).

  • negpos (bool, optional) – Whether to shade bars where height >= 0 with poscolor and where height < 0 with negcolor. Default is False. If True this function will return a 2-tuple of values.

  • negcolor, poscolor (color-spec, optional) – Colors to use for the negative and positive bars. Ignored if negpos is False. Defaults are rc.negcolor = 'blue7' and rc.poscolor = 'red7'.

  • edgefix (bool or float, optional) – Whether to fix the common issue where white lines appear between adjacent patches in saved vector graphics (this can slow down figure rendering). See this stackoverflow post for a demonstration of the problem. Default is rc.edgefix = True. If True, a small default linewidth is used to cover up the white lines. If float (e.g. edgefix=0.5), this specific linewidth is used to cover up the white lines. This feature is automatically disabled when the patches have transparency.

  • mean, means (bool, optional) – Whether to plot the means of each column for 2D x coordinates. Means are calculated with numpy.nanmean. If no other arguments are specified, this also sets barstd=True (and boxstd=True for violin plots).

  • median, medians (bool, optional) – Whether to plot the medians of each column for 2D x coordinates. Medians are calculated with numpy.nanmedian. If no other arguments arguments are specified, this also sets barstd=True (and boxstd=True for violin plots).

  • bars (bool, optional) – Shorthand for barstd, barstds.

  • barstd, barstds (bool, float, or 2-tuple of float, optional) – Valid only if mean or median is True. Standard deviation multiples for thin error bars with optional whiskers (i.e., caps). If scalar, then +/- that multiple is used. If True, the default standard deviation range of +/-3 is used.

  • barpctile, barpctiles (bool, float, or 2-tuple of float, optional) – Valid only if mean or median is True. As with barstd, but instead using percentiles for the error bars. If scalar, that percentile range is used (e.g., 90 shows the 5th to 95th percentiles). If True, the default percentile range of 0 to 100 is used.

  • bardata (array-like, optional) – Valid only if mean and median are False. If shape is 2 x N, these are the lower and upper bounds for the thin error bars. If shape is N, these are the absolute, symmetric deviations from the central points.

  • boxes (bool, optional) – Shorthand for boxstd, boxstds.

  • boxstd, boxstds, boxpctile, boxpctiles, boxdata (optional) – As with barstd, barpctile, and bardata, but for thicker error bars representing a smaller interval than the thin error bars. If boxstds is True, the default standard deviation range of +/-1 is used. If boxpctiles is True, the default percentile range of 25 to 75 is used (i.e., the interquartile range). When “boxes” and “bars” are combined, this has the effect of drawing miniature box-and-whisker plots.

  • capsize (float, optional) – The cap size for thin error bars in points. Default is rc['errorbar.capsize'] = 3.0.

  • barz, barzorder, boxz, boxzorder (float, optional) – The “zorder” for the thin and thick error bars. Default is 2.5.

  • barc, barcolor, boxc, boxcolor (color-spec, optional) – Colors for the thin and thick error bars. Default is rc['boxplot.whiskerprops.color'] = 'black'.

  • barlw, barlinewidth, boxlw, boxlinewidth (float, optional) – Line widths for the thin and thick error bars, in points. The defaults rc['boxplot.whiskerprops.linewidth'] = 1.0 (bars) and four times that value (boxes).

  • boxm, boxmarker (bool or marker-spec, optional) – Whether to draw a small marker in the middle of the box denoting the mean or median position. Ignored if boxes is False. Default is 'o'.

  • boxms, boxmarkersize (size-spec, optional) – The marker size for the boxmarker marker in points ** 2. Default size is equal to (2 * boxlinewidth) ** 2.

  • boxmc, boxmarkercolor, boxmec, boxmarkeredgecolor (color-spec, optional) – Color, face color, and edge color for the boxmarker marker. Default color and edge color are 'w'.

  • inbounds (bool, optional) – Whether to restrict the default y (x) axis limits to account for only in-bounds data when the x (y) axis limits have been locked. Default is rc['axes.inbounds'] = True. See also rc['cmap.inbounds'].

  • label, value (float or str, optional) – The single legend label or colorbar coordinate to be used for this plotted element. Can be numeric or string. This is generally used with 1D positional arguments.

  • labels, values (sequence of float or sequence of str, optional) – The legend labels or colorbar coordinates used for each plotted element. Can be numeric or string, and must match the number of plotted elements. This is generally used with 2D positional arguments.

  • colorbar (bool, int, or str, optional) – If not None, this is a location specifying where to draw an inset or outer colorbar from the resulting object(s). If True, the default rc['colorbar.loc'] = 'right' is used. If the same location is used in successive plotting calls, object(s) will be added to the existing colorbar in that location (valid for colorbars built from lists of artists). Valid locations are shown in in colorbar.

  • colorbar_kw (dict-like, optional) – Extra keyword args for the call to colorbar.

  • legend (bool, int, or str, optional) – Location specifying where to draw an inset or outer legend from the resulting object(s). If True, the default rc['legend.loc'] = 'best' is used. If the same location is used in successive plotting calls, object(s) will be added to existing legend in that location. Valid locations are shown in legend.

  • legend_kw (dict-like, optional) – Extra keyword args for the call to legend.

  • **kwargs – Passed to barh.