package pyplot import ( _ "unsafe" "github.com/goplus/llgo/py" ) const LLGoPackage = "py.matplotlib.pyplot" // Cast a value to a type. // // This returns the value unchanged. To the type checker this // signals that the return value has the designated type, but at // runtime we intentionally don't check anything (we want this // to be as fast as possible). // //go:linkname Cast py.cast func Cast(typ *py.Object, val *py.Object) *py.Object // Decorator for overloaded functions/methods. // // In a stub file, place two or more stub definitions for the same // function in a row, each decorated with @overload. // // For example:: // // @overload // def utf8(value: None) -> None: ... // @overload // def utf8(value: bytes) -> bytes: ... // @overload // def utf8(value: str) -> bytes: ... // // In a non-stub file (i.e. a regular .py file), do the same but // follow it with an implementation. The implementation should *not* // be decorated with @overload:: // // @overload // def utf8(value: None) -> None: ... // @overload // def utf8(value: bytes) -> bytes: ... // @overload // def utf8(value: str) -> bytes: ... // def utf8(value): // ... # implementation goes here // // The overloads for a function can be retrieved at runtime using the // get_overloads() function. // //go:linkname Overload py.overload func Overload(func_ *py.Object) *py.Object // Create a new `Cycler` object from a single positional argument, // a pair of positional arguments, or the combination of keyword arguments. // // cycler(arg) // cycler(label1=itr1[, label2=iter2[, ...]]) // cycler(label, itr) // // Form 1 simply copies a given `Cycler` object. // // Form 2 composes a `Cycler` as an inner product of the // pairs of keyword arguments. In other words, all of the // iterables are cycled simultaneously, as if through zip(). // // Form 3 creates a `Cycler` from a label and an iterable. // This is useful for when the label cannot be a keyword argument // (e.g., an integer or a name that has a space in it). // // Parameters // ---------- // arg : Cycler // // Copy constructor for Cycler (does a shallow copy of iterables). // // label : name // // The property key. In the 2-arg form of the function, // the label can be any hashable object. In the keyword argument // form of the function, it must be a valid python identifier. // // itr : iterable // // Finite length iterable of the property values. // Can be a single-property `Cycler` that would // be like a key change, but as a shallow copy. // // Returns // ------- // cycler : Cycler // // New `Cycler` for the given property // //go:linkname Cycler py.cycler func Cycler(__llgo_va_list ...interface{}) *py.Object // Return the name of the current backend. // // See Also // -------- // matplotlib.use // //go:linkname GetBackend py.get_backend func GetBackend() *py.Object // Set whether to redraw after every plotting command (e.g. `.pyplot.xlabel`). // //go:linkname Interactive py.interactive func Interactive(b *py.Object) *py.Object // Calculate the width and height for a figure with a specified aspect ratio. // // While the height is taken from :rc:`figure.figsize`, the width is // adjusted to match the desired aspect ratio. Additionally, it is ensured // that the width is in the range [4., 16.] and the height is in the range // [2., 16.]. If necessary, the default height is adjusted to ensure this. // // Parameters // ---------- // arg : float or 2D array // // If a float, this defines the aspect ratio (i.e. the ratio height / // width). // In case of an array the aspect ratio is number of rows / number of // columns, so that the array could be fitted in the figure undistorted. // // Returns // ------- // width, height : float // // The figure size in inches. // // Notes // ----- // If you want to create an Axes within the figure, that still preserves the // aspect ratio, be sure to create it with equal width and height. See // examples below. // // Thanks to Fernando Perez for this function. // // Examples // -------- // Make a figure twice as tall as it is wide:: // // w, h = figaspect(2.) // fig = Figure(figsize=(w, h)) // ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) // ax.imshow(A, **kwargs) // // Make a figure with the proper aspect for an array:: // // A = rand(5, 3) // w, h = figaspect(A) // fig = Figure(figsize=(w, h)) // ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) // ax.imshow(A, **kwargs) // //go:linkname Figaspect py.figaspect func Figaspect(arg *py.Object) *py.Object // Return the names of the available scales. // //go:linkname GetScaleNames py.get_scale_names func GetScaleNames() *py.Object // [*Deprecated*] Add a colormap to the set recognized by :func:`get_cmap`. // // Register a new colormap to be accessed by name :: // // LinearSegmentedColormap('swirly', data, lut) // register_cmap(cmap=swirly_cmap) // // Parameters // ---------- // name : str, optional // // The name that can be used in :func:`get_cmap` or :rc:`image.cmap` // // If absent, the name will be the :attr:`~matplotlib.colors.Colormap.name` // attribute of the *cmap*. // // cmap : matplotlib.colors.Colormap // // Despite being the second argument and having a default value, this // is a required argument. // // override_builtin : bool // // Allow built-in colormaps to be overridden by a user-supplied // colormap. // // Please do not use this unless you are sure you need it. // // Notes // ----- // .. deprecated:: 3.7 // // Use ``matplotlib.colormaps.register(name)`` instead. // //go:linkname RegisterCmap py.register_cmap func RegisterCmap(name *py.Object, cmap *py.Object) *py.Object // Connect to the display hook of the current shell. // // The display hook gets called when the read-evaluate-print-loop (REPL) of // the shell has finished the execution of a command. We use this callback // to be able to automatically update a figure in interactive mode. // // This works both with IPython and with vanilla python shells. // //go:linkname InstallReplDisplayhook py.install_repl_displayhook func InstallReplDisplayhook() *py.Object // Disconnect from the display hook of the current shell. // //go:linkname UninstallReplDisplayhook py.uninstall_repl_displayhook func UninstallReplDisplayhook() *py.Object // Redraw all stale managed figures, or, if *force* is True, all managed // figures. // //go:linkname DrawAll py.draw_all func DrawAll(force *py.Object) *py.Object // Configure Matplotlib's logging levels. // // Matplotlib uses the standard library `logging` framework under the root // logger 'matplotlib'. This is a helper function to: // // - set Matplotlib's root logger level // - set the root logger handler's level, creating the handler // if it does not exist yet // // Typically, one should call “set_loglevel("info")“ or // “set_loglevel("debug")“ to get additional debugging information. // // Users or applications that are installing their own logging handlers // may want to directly manipulate “logging.getLogger('matplotlib')“ rather // than use this function. // // Parameters // ---------- // level : {"notset", "debug", "info", "warning", "error", "critical"} // // The log level of the handler. // // Notes // ----- // The first time this function is called, an additional handler is attached // to Matplotlib's root handler; this handler is reused every time and this // function simply manipulates the logger and handler's level. // //go:linkname SetLoglevel py.set_loglevel func SetLoglevel(__llgo_va_list ...interface{}) *py.Object // Find artist objects. // // Recursively find all `.Artist` instances contained in the artist. // // Parameters // ---------- // match // // A filter criterion for the matches. This can be // // - *None*: Return all objects contained in artist. // - A function with signature ``def match(artist: Artist) -> bool``. // The result will only contain artists for which the function // returns *True*. // - A class instance: e.g., `.Line2D`. The result will only contain // artists of this class or its subclasses (``isinstance`` check). // // include_self : bool // // Include *self* in the list to be checked for a match. // // Returns // ------- // list of `.Artist` // //go:linkname Findobj py.findobj func Findobj(o *py.Object, match *py.Object, includeSelf *py.Object) *py.Object // Set the pyplot backend. // // Switching to an interactive backend is possible only if no event loop for // another interactive backend has started. Switching to and from // non-interactive backends is always possible. // // If the new backend is different than the current backend then all open // Figures will be closed via “plt.close('all')“. // // Parameters // ---------- // newbackend : str // // The case-insensitive name of the backend to use. // //go:linkname SwitchBackend py.switch_backend func SwitchBackend(newbackend *py.Object) *py.Object // Create a new figure manager instance. // //go:linkname NewFigureManager py.new_figure_manager func NewFigureManager(__llgo_va_list ...interface{}) *py.Object // Redraw the current figure if in interactive mode. // // .. warning:: // // End users will typically not have to call this function because the // the interactive mode takes care of this. // //go:linkname DrawIfInteractive py.draw_if_interactive func DrawIfInteractive(__llgo_va_list ...interface{}) *py.Object // Display all open figures. // // Parameters // ---------- // block : bool, optional // // Whether to wait for all figures to be closed before returning. // // If `True` block and run the GUI main loop until all figure windows // are closed. // // If `False` ensure that all figure windows are displayed and return // immediately. In this case, you are responsible for ensuring // that the event loop is running to have responsive figures. // // Defaults to True in non-interactive mode and to False in interactive // mode (see `.pyplot.isinteractive`). // // See Also // -------- // ion : Enable interactive mode, which shows / updates the figure after // // every plotting command, so that calling ``show()`` is not necessary. // // ioff : Disable interactive mode. // savefig : Save the figure to an image file instead of showing it on screen. // // Notes // ----- // **Saving figures to file and showing a window at the same time** // // If you want an image file as well as a user interface window, use // `.pyplot.savefig` before `.pyplot.show`. At the end of (a blocking) // “show()“ the figure is closed and thus unregistered from pyplot. Calling // `.pyplot.savefig` afterwards would save a new and thus empty figure. This // limitation of command order does not apply if the show is non-blocking or // if you keep a reference to the figure and use `.Figure.savefig`. // // **Auto-show in jupyter notebooks** // // The jupyter backends (activated via “%matplotlib inline“, // “%matplotlib notebook“, or “%matplotlib widget“), call “show()“ at // the end of every cell by default. Thus, you usually don't have to call it // explicitly there. // //go:linkname Show py.show func Show(__llgo_va_list ...interface{}) *py.Object // Return whether plots are updated after every plotting command. // // The interactive mode is mainly useful if you build plots from the command // line and want to see the effect of each command while you are building the // figure. // // In interactive mode: // // - newly created figures will be shown immediately; // - figures will automatically redraw on change; // - `.pyplot.show` will not block by default. // // In non-interactive mode: // // - newly created figures and changes to figures will not be reflected until // explicitly asked to be; // - `.pyplot.show` will block by default. // // See Also // -------- // ion : Enable interactive mode. // ioff : Disable interactive mode. // show : Show all figures (and maybe block). // pause : Show all figures, and block for a time. // //go:linkname Isinteractive py.isinteractive func Isinteractive() *py.Object // Disable interactive mode. // // See `.pyplot.isinteractive` for more details. // // See Also // -------- // ion : Enable interactive mode. // isinteractive : Whether interactive mode is enabled. // show : Show all figures (and maybe block). // pause : Show all figures, and block for a time. // // Notes // ----- // For a temporary change, this can be used as a context manager:: // // # if interactive mode is on // # then figures will be shown on creation // plt.ion() // # This figure will be shown immediately // fig = plt.figure() // // with plt.ioff(): // # interactive mode will be off // # figures will not automatically be shown // fig2 = plt.figure() // # ... // // To enable optional usage as a context manager, this function returns a // `~contextlib.ExitStack` object, which is not intended to be stored or // accessed by the user. // //go:linkname Ioff py.ioff func Ioff() *py.Object // Enable interactive mode. // // See `.pyplot.isinteractive` for more details. // // See Also // -------- // ioff : Disable interactive mode. // isinteractive : Whether interactive mode is enabled. // show : Show all figures (and maybe block). // pause : Show all figures, and block for a time. // // Notes // ----- // For a temporary change, this can be used as a context manager:: // // # if interactive mode is off // # then figures will not be shown on creation // plt.ioff() // # This figure will not be shown immediately // fig = plt.figure() // // with plt.ion(): // # interactive mode will be on // # figures will automatically be shown // fig2 = plt.figure() // # ... // // To enable optional usage as a context manager, this function returns a // `~contextlib.ExitStack` object, which is not intended to be stored or // accessed by the user. // //go:linkname Ion py.ion func Ion() *py.Object // Run the GUI event loop for *interval* seconds. // // If there is an active figure, it will be updated and displayed before the // pause, and the GUI event loop (if any) will run during the pause. // // This can be used for crude animation. For more complex animation use // :mod:`matplotlib.animation`. // // If there is no active figure, sleep for *interval* seconds instead. // // See Also // -------- // matplotlib.animation : Proper animations // show : Show all figures and optional block until all figures are closed. // //go:linkname Pause py.pause func Pause(interval *py.Object) *py.Object // Set the current `.rcParams`. *group* is the grouping for the rc, e.g., // for “lines.linewidth“ the group is “lines“, for // “axes.facecolor“, the group is “axes“, and so on. Group may // also be a list or tuple of group names, e.g., (*xtick*, *ytick*). // *kwargs* is a dictionary attribute name/value pairs, e.g.,:: // // rc('lines', linewidth=2, color='r') // // sets the current `.rcParams` and is equivalent to:: // // rcParams['lines.linewidth'] = 2 // rcParams['lines.color'] = 'r' // // The following aliases are available to save typing for interactive users: // // ===== ================= // Alias Property // ===== ================= // 'lw' 'linewidth' // 'ls' 'linestyle' // 'c' 'color' // 'fc' 'facecolor' // 'ec' 'edgecolor' // 'mew' 'markeredgewidth' // 'aa' 'antialiased' // ===== ================= // // Thus you could abbreviate the above call as:: // // rc('lines', lw=2, c='r') // // Note you can use python's kwargs dictionary facility to store // dictionaries of default parameters. e.g., you can customize the // font rc as follows:: // // font = {'family' : 'monospace', // 'weight' : 'bold', // 'size' : 'larger'} // rc('font', **font) # pass in the font dict as kwargs // // This enables you to easily switch between several configurations. Use // “matplotlib.style.use('default')“ or :func:`~matplotlib.rcdefaults` to // restore the default `.rcParams` after changes. // // Notes // ----- // Similar functionality is available by using the normal dict interface, i.e. // “rcParams.update({"lines.linewidth": 2, ...})“ (but “rcParams.update“ // does not support abbreviations or grouping). // //go:linkname Rc py.rc func Rc(group *py.Object) *py.Object // Return a context manager for temporarily changing rcParams. // // The :rc:`backend` will not be reset by the context manager. // // rcParams changed both through the context manager invocation and // in the body of the context will be reset on context exit. // // Parameters // ---------- // rc : dict // // The rcParams to temporarily set. // // fname : str or path-like // // A file with Matplotlib rc settings. If both *fname* and *rc* are given, // settings from *rc* take precedence. // // See Also // -------- // :ref:`customizing-with-matplotlibrc-files` // // Examples // -------- // Passing explicit values via a dict:: // // with mpl.rc_context({'interactive': False}): // fig, ax = plt.subplots() // ax.plot(range(3), range(3)) // fig.savefig('example.png') // plt.close(fig) // // Loading settings from a file:: // // with mpl.rc_context(fname='print.rc'): // plt.plot(x, y) # uses 'print.rc' // // Setting in the context body:: // // with mpl.rc_context(): // # will be reset // mpl.rcParams['lines.linewidth'] = 5 // plt.plot(x, y) // //go:linkname RcContext py.rc_context func RcContext(rc *py.Object, fname *py.Object) *py.Object // Restore the `.rcParams` from Matplotlib's internal default style. // // Style-blacklisted `.rcParams` (defined in // “matplotlib.style.core.STYLE_BLACKLIST“) are not updated. // // See Also // -------- // matplotlib.rc_file_defaults // // Restore the `.rcParams` from the rc file originally loaded by // Matplotlib. // // matplotlib.style.use // // Use a specific style file. Call ``style.use('default')`` to restore // the default style. // //go:linkname Rcdefaults py.rcdefaults func Rcdefaults() *py.Object // Return the value of an `.Artist`'s *property*, or print all of them. // // Parameters // ---------- // obj : `~matplotlib.artist.Artist` // // The queried artist; e.g., a `.Line2D`, a `.Text`, or an `~.axes.Axes`. // // property : str or None, default: None // // If *property* is 'somename', this function returns // ``obj.get_somename()``. // // If it's None (or unset), it *prints* all gettable properties from // *obj*. Many properties have aliases for shorter typing, e.g. 'lw' is // an alias for 'linewidth'. In the output, aliases and full property // names will be listed as: // // property or alias = value // // e.g.: // // linewidth or lw = 2 // // See Also // -------- // setp // //go:linkname Getp py.getp func Getp(obj *py.Object, __llgo_va_list ...interface{}) *py.Object // Return the value of an `.Artist`'s *property*, or print all of them. // // Parameters // ---------- // obj : `~matplotlib.artist.Artist` // // The queried artist; e.g., a `.Line2D`, a `.Text`, or an `~.axes.Axes`. // // property : str or None, default: None // // If *property* is 'somename', this function returns // ``obj.get_somename()``. // // If it's None (or unset), it *prints* all gettable properties from // *obj*. Many properties have aliases for shorter typing, e.g. 'lw' is // an alias for 'linewidth'. In the output, aliases and full property // names will be listed as: // // property or alias = value // // e.g.: // // linewidth or lw = 2 // // See Also // -------- // setp // //go:linkname Get py.get func Get(obj *py.Object, __llgo_va_list ...interface{}) *py.Object // Set one or more properties on an `.Artist`, or list allowed values. // // Parameters // ---------- // obj : `~matplotlib.artist.Artist` or list of `.Artist` // // The artist(s) whose properties are being set or queried. When setting // properties, all artists are affected; when querying the allowed values, // only the first instance in the sequence is queried. // // For example, two lines can be made thicker and red with a single call: // // >>> x = arange(0, 1, 0.01) // >>> lines = plot(x, sin(2*pi*x), x, sin(4*pi*x)) // >>> setp(lines, linewidth=2, color='r') // // file : file-like, default: `sys.stdout` // // Where `setp` writes its output when asked to list allowed values. // // >>> with open('output.log') as file: // ... setp(line, file=file) // // The default, ``None``, means `sys.stdout`. // // *args, **kwargs // // The properties to set. The following combinations are supported: // // - Set the linestyle of a line to be dashed: // // >>> line, = plot([1, 2, 3]) // >>> setp(line, linestyle='--') // // - Set multiple properties at once: // // >>> setp(line, linewidth=2, color='r') // // - List allowed values for a line's linestyle: // // >>> setp(line, 'linestyle') // linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // // - List all properties that can be set, and their allowed values: // // >>> setp(line) // agg_filter: a filter function, ... // [long output listing omitted] // // `setp` also supports MATLAB style string/value pairs. For example, the // following are equivalent: // // >>> setp(lines, 'linewidth', 2, 'color', 'r') # MATLAB style // >>> setp(lines, linewidth=2, color='r') # Python style // // See Also // -------- // getp // //go:linkname Setp py.setp func Setp(obj *py.Object, __llgo_va_list ...interface{}) *py.Object // Turn on `xkcd `_ sketch-style drawing mode. // // This will only have an effect on things drawn after this function is called. // // For best results, install the `xkcd script `_ // font; xkcd fonts are not packaged with Matplotlib. // // Parameters // ---------- // scale : float, optional // // The amplitude of the wiggle perpendicular to the source line. // // length : float, optional // // The length of the wiggle along the line. // // randomness : float, optional // // The scale factor by which the length is shrunken or expanded. // // Notes // ----- // This function works by a number of rcParams, so it will probably // override others you have set before. // // If you want the effects of this function to be temporary, it can // be used as a context manager, for example:: // // with plt.xkcd(): // # This figure will be in XKCD-style // fig1 = plt.figure() // # ... // // # This figure will be in regular style // fig2 = plt.figure() // //go:linkname Xkcd py.xkcd func Xkcd(scale *py.Object, length *py.Object, randomness *py.Object) *py.Object // Create a new figure, or activate an existing figure. // // Parameters // ---------- // num : int or str or `.Figure` or `.SubFigure`, optional // // A unique identifier for the figure. // // If a figure with that identifier already exists, this figure is made // active and returned. An integer refers to the ``Figure.number`` // attribute, a string refers to the figure label. // // If there is no figure with the identifier or *num* is not given, a new // figure is created, made active and returned. If *num* is an int, it // will be used for the ``Figure.number`` attribute, otherwise, an // auto-generated integer value is used (starting at 1 and incremented // for each new figure). If *num* is a string, the figure label and the // window title is set to this value. If num is a ``SubFigure``, its // parent ``Figure`` is activated. // // figsize : (float, float), default: :rc:`figure.figsize` // // Width, height in inches. // // dpi : float, default: :rc:`figure.dpi` // // The resolution of the figure in dots-per-inch. // // facecolor : color, default: :rc:`figure.facecolor` // // The background color. // // edgecolor : color, default: :rc:`figure.edgecolor` // // The border color. // // frameon : bool, default: True // // If False, suppress drawing the figure frame. // // FigureClass : subclass of `~matplotlib.figure.Figure` // // If set, an instance of this subclass will be created, rather than a // plain `.Figure`. // // clear : bool, default: False // // If True and the figure already exists, then it is cleared. // // layout : {'constrained', 'compressed', 'tight', 'none', `.LayoutEngine`, None}, default: None // // The layout mechanism for positioning of plot elements to avoid // overlapping Axes decorations (labels, ticks, etc). Note that layout // managers can measurably slow down figure display. // // - 'constrained': The constrained layout solver adjusts axes sizes // to avoid overlapping axes decorations. Can handle complex plot // layouts and colorbars, and is thus recommended. // // See :ref:`constrainedlayout_guide` // for examples. // // - 'compressed': uses the same algorithm as 'constrained', but // removes extra space between fixed-aspect-ratio Axes. Best for // simple grids of axes. // // - 'tight': Use the tight layout mechanism. This is a relatively // simple algorithm that adjusts the subplot parameters so that // decorations do not overlap. See `.Figure.set_tight_layout` for // further details. // // - 'none': Do not use a layout engine. // // - A `.LayoutEngine` instance. Builtin layout classes are // `.ConstrainedLayoutEngine` and `.TightLayoutEngine`, more easily // accessible by 'constrained' and 'tight'. Passing an instance // allows third parties to provide their own layout engine. // // If not given, fall back to using the parameters *tight_layout* and // *constrained_layout*, including their config defaults // :rc:`figure.autolayout` and :rc:`figure.constrained_layout.use`. // // **kwargs // // Additional keyword arguments are passed to the `.Figure` constructor. // // Returns // ------- // `~matplotlib.figure.Figure` // // Notes // ----- // A newly created figure is passed to the `~.FigureCanvasBase.new_manager` // method or the `new_figure_manager` function provided by the current // backend, which install a canvas and a manager on the figure. // // Once this is done, :rc:`figure.hooks` are called, one at a time, on the // figure; these hooks allow arbitrary customization of the figure (e.g., // attaching callbacks) or of associated elements (e.g., modifying the // toolbar). See :doc:`/gallery/user_interfaces/mplcvd` for an example of // toolbar customization. // // If you are creating many figures, make sure you explicitly call // `.pyplot.close` on the figures you are not using, because this will // enable pyplot to properly clean up the memory. // // `~matplotlib.rcParams` defines the default values, which can be modified // in the matplotlibrc file. // //go:linkname Figure py.figure func Figure(num *py.Object, figsize *py.Object, dpi *py.Object) *py.Object // Get the current figure. // // If there is currently no figure on the pyplot figure stack, a new one is // created using `~.pyplot.figure()`. (To test whether there is currently a // figure on the pyplot figure stack, check whether `~.pyplot.get_fignums()` // is empty.) // //go:linkname Gcf py.gcf func Gcf() *py.Object // Return whether the figure with the given id exists. // // Parameters // ---------- // num : int or str // A figure identifier. // // Returns // ------- // bool // Whether or not a figure with id *num* exists. // //go:linkname FignumExists py.fignum_exists func FignumExists(num *py.Object) *py.Object // Return a list of existing figure numbers. // //go:linkname GetFignums py.get_fignums func GetFignums() *py.Object // Return a list of existing figure labels. // //go:linkname GetFiglabels py.get_figlabels func GetFiglabels() *py.Object // Return the figure manager of the current figure. // // The figure manager is a container for the actual backend-depended window // that displays the figure on screen. // // If no current figure exists, a new one is created, and its figure // manager is returned. // // Returns // ------- // `.FigureManagerBase` or backend-dependent subclass thereof // //go:linkname GetCurrentFigManager py.get_current_fig_manager func GetCurrentFigManager() *py.Object // Bind function *func* to event *s*. // // Parameters // ---------- // s : str // // One of the following events ids: // // - 'button_press_event' // - 'button_release_event' // - 'draw_event' // - 'key_press_event' // - 'key_release_event' // - 'motion_notify_event' // - 'pick_event' // - 'resize_event' // - 'scroll_event' // - 'figure_enter_event', // - 'figure_leave_event', // - 'axes_enter_event', // - 'axes_leave_event' // - 'close_event'. // // func : callable // // The callback function to be executed, which must have the // signature:: // // def func(event: Event) -> Any // // For the location events (button and key press/release), if the // mouse is over the Axes, the ``inaxes`` attribute of the event will // be set to the `~matplotlib.axes.Axes` the event occurs is over, and // additionally, the variables ``xdata`` and ``ydata`` attributes will // be set to the mouse location in data coordinates. See `.KeyEvent` // and `.MouseEvent` for more info. // // .. note:: // // If func is a method, this only stores a weak reference to the // method. Thus, the figure does not influence the lifetime of // the associated object. Usually, you want to make sure that the // object is kept alive throughout the lifetime of the figure by // holding a reference to it. // // Returns // ------- // cid // // A connection id that can be used with // `.FigureCanvasBase.mpl_disconnect`. // // Examples // -------- // :: // // def on_press(event): // print('you pressed', event.button, event.xdata, event.ydata) // // cid = canvas.mpl_connect('button_press_event', on_press) // //go:linkname Connect py.connect func Connect(s *py.Object, func_ *py.Object) *py.Object // Disconnect the callback with id *cid*. // // Examples // -------- // :: // // cid = canvas.mpl_connect('button_press_event', on_press) // # ... later // canvas.mpl_disconnect(cid) // //go:linkname Disconnect py.disconnect func Disconnect(cid *py.Object) *py.Object // Close a figure window. // // Parameters // ---------- // fig : None or int or str or `.Figure` // // The figure to close. There are a number of ways to specify this: // // - *None*: the current figure // - `.Figure`: the given `.Figure` instance // - ``int``: a figure number // - ``str``: a figure name // - 'all': all figures // //go:linkname Close py.close func Close(fig *py.Object) *py.Object // Clear the current figure. // //go:linkname Clf py.clf func Clf() *py.Object // Redraw the current figure. // // This is used to update a figure that has been altered, but not // automatically re-drawn. If interactive mode is on (via `.ion()`), this // should be only rarely needed, but there may be ways to modify the state of // a figure without marking it as "stale". Please report these cases as bugs. // // This is equivalent to calling “fig.canvas.draw_idle()“, where “fig“ is // the current figure. // // See Also // -------- // .FigureCanvasBase.draw_idle // .FigureCanvasBase.draw // //go:linkname Draw py.draw func Draw() *py.Object // Save the current figure. // // Call signature:: // // savefig(fname, *, transparent=None, dpi='figure', format=None, // metadata=None, bbox_inches=None, pad_inches=0.1, // facecolor='auto', edgecolor='auto', backend=None, // **kwargs // ) // // The available output formats depend on the backend being used. // // Parameters // ---------- // fname : str or path-like or binary file-like // // A path, or a Python file-like object, or // possibly some backend-dependent object such as // `matplotlib.backends.backend_pdf.PdfPages`. // // If *format* is set, it determines the output format, and the file // is saved as *fname*. Note that *fname* is used verbatim, and there // is no attempt to make the extension, if any, of *fname* match // *format*, and no extension is appended. // // If *format* is not set, then the format is inferred from the // extension of *fname*, if there is one. If *format* is not // set and *fname* has no extension, then the file is saved with // :rc:`savefig.format` and the appropriate extension is appended to // *fname*. // // Other Parameters // ---------------- // transparent : bool, default: :rc:`savefig.transparent` // // If *True*, the Axes patches will all be transparent; the // Figure patch will also be transparent unless *facecolor* // and/or *edgecolor* are specified via kwargs. // // If *False* has no effect and the color of the Axes and // Figure patches are unchanged (unless the Figure patch // is specified via the *facecolor* and/or *edgecolor* keyword // arguments in which case those colors are used). // // The transparency of these patches will be restored to their // original values upon exit of this function. // // This is useful, for example, for displaying // a plot on top of a colored background on a web page. // // dpi : float or 'figure', default: :rc:`savefig.dpi` // // The resolution in dots per inch. If 'figure', use the figure's // dpi value. // // format : str // // The file format, e.g. 'png', 'pdf', 'svg', ... The behavior when // this is unset is documented under *fname*. // // metadata : dict, optional // // Key/value pairs to store in the image metadata. The supported keys // and defaults depend on the image format and backend: // // - 'png' with Agg backend: See the parameter ``metadata`` of // `~.FigureCanvasAgg.print_png`. // - 'pdf' with pdf backend: See the parameter ``metadata`` of // `~.backend_pdf.PdfPages`. // - 'svg' with svg backend: See the parameter ``metadata`` of // `~.FigureCanvasSVG.print_svg`. // - 'eps' and 'ps' with PS backend: Only 'Creator' is supported. // // Not supported for 'pgf', 'raw', and 'rgba' as those formats do not support // embedding metadata. // Does not currently support 'jpg', 'tiff', or 'webp', but may include // embedding EXIF metadata in the future. // // bbox_inches : str or `.Bbox`, default: :rc:`savefig.bbox` // // Bounding box in inches: only the given portion of the figure is // saved. If 'tight', try to figure out the tight bbox of the figure. // // pad_inches : float or 'layout', default: :rc:`savefig.pad_inches` // // Amount of padding in inches around the figure when bbox_inches is // 'tight'. If 'layout' use the padding from the constrained or // compressed layout engine; ignored if one of those engines is not in // use. // // facecolor : color or 'auto', default: :rc:`savefig.facecolor` // // The facecolor of the figure. If 'auto', use the current figure // facecolor. // // edgecolor : color or 'auto', default: :rc:`savefig.edgecolor` // // The edgecolor of the figure. If 'auto', use the current figure // edgecolor. // // backend : str, optional // // Use a non-default backend to render the file, e.g. to render a // png file with the "cairo" backend rather than the default "agg", // or a pdf file with the "pgf" backend rather than the default // "pdf". Note that the default backend is normally sufficient. See // :ref:`the-builtin-backends` for a list of valid backends for each // file format. Custom backends can be referenced as "module://...". // // orientation : {'landscape', 'portrait'} // // Currently only supported by the postscript backend. // // papertype : str // // One of 'letter', 'legal', 'executive', 'ledger', 'a0' through // 'a10', 'b0' through 'b10'. Only supported for postscript // output. // // bbox_extra_artists : list of `~matplotlib.artist.Artist`, optional // // A list of extra artists that will be considered when the // tight bbox is calculated. // // pil_kwargs : dict, optional // // Additional keyword arguments that are passed to // `PIL.Image.Image.save` when saving the figure. // //go:linkname Savefig py.savefig func Savefig(__llgo_va_list ...interface{}) *py.Object // Place a legend on the figure. // // Call signatures:: // // figlegend() // figlegend(handles, labels) // figlegend(handles=handles) // figlegend(labels) // // The call signatures correspond to the following different ways to use // this method: // // **1. Automatic detection of elements to be shown in the legend** // // The elements to be added to the legend are automatically determined, // when you do not pass in any extra arguments. // // In this case, the labels are taken from the artist. You can specify // them either at artist creation or by calling the // :meth:`~.Artist.set_label` method on the artist:: // // plt.plot([1, 2, 3], label='Inline label') // plt.figlegend() // // or:: // // line, = plt.plot([1, 2, 3]) // line.set_label('Label via method') // plt.figlegend() // // Specific lines can be excluded from the automatic legend element // selection by defining a label starting with an underscore. // This is default for all artists, so calling `.Figure.legend` without // any arguments and without setting the labels manually will result in // no legend being drawn. // // **2. Explicitly listing the artists and labels in the legend** // // For full control of which artists have a legend entry, it is possible // to pass an iterable of legend artists followed by an iterable of // legend labels respectively:: // // plt.figlegend([line1, line2, line3], ['label1', 'label2', 'label3']) // // **3. Explicitly listing the artists in the legend** // // This is similar to 2, but the labels are taken from the artists' // label properties. Example:: // // line1, = ax1.plot([1, 2, 3], label='label1') // line2, = ax2.plot([1, 2, 3], label='label2') // plt.figlegend(handles=[line1, line2]) // // **4. Labeling existing plot elements** // // .. admonition:: Discouraged // // This call signature is discouraged, because the relation between // plot elements and labels is only implicit by their order and can // easily be mixed up. // // To make a legend for all artists on all Axes, call this function with // an iterable of strings, one for each legend item. For example:: // // fig, (ax1, ax2) = plt.subplots(1, 2) // ax1.plot([1, 3, 5], color='blue') // ax2.plot([2, 4, 6], color='red') // plt.figlegend(['the blues', 'the reds']) // // Parameters // ---------- // handles : list of `.Artist`, optional // // A list of Artists (lines, patches) to be added to the legend. // Use this together with *labels*, if you need full control on what // is shown in the legend and the automatic mechanism described above // is not sufficient. // // The length of handles and labels should be the same in this // case. If they are not, they are truncated to the smaller length. // // labels : list of str, optional // // A list of labels to show next to the artists. // Use this together with *handles*, if you need full control on what // is shown in the legend and the automatic mechanism described above // is not sufficient. // // Returns // ------- // `~matplotlib.legend.Legend` // // Other Parameters // ---------------- // // loc : str or pair of floats, default: 'upper right' // // The location of the legend. // // The strings ``'upper left'``, ``'upper right'``, ``'lower left'``, // ``'lower right'`` place the legend at the corresponding corner of the // figure. // // The strings ``'upper center'``, ``'lower center'``, ``'center left'``, // ``'center right'`` place the legend at the center of the corresponding edge // of the figure. // // The string ``'center'`` places the legend at the center of the figure. // // The location can also be a 2-tuple giving the coordinates of the lower-left // corner of the legend in figure coordinates (in which case *bbox_to_anchor* // will be ignored). // // For back-compatibility, ``'center right'`` (but no other location) can also // be spelled ``'right'``, and each "string" location can also be given as a // numeric value: // // ================== ============= // Location String Location Code // ================== ============= // 'best' (Axes only) 0 // 'upper right' 1 // 'upper left' 2 // 'lower left' 3 // 'lower right' 4 // 'right' 5 // 'center left' 6 // 'center right' 7 // 'lower center' 8 // 'upper center' 9 // 'center' 10 // ================== ============= // // If a figure is using the constrained layout manager, the string codes // of the *loc* keyword argument can get better layout behaviour using the // prefix 'outside'. There is ambiguity at the corners, so 'outside // upper right' will make space for the legend above the rest of the // axes in the layout, and 'outside right upper' will make space on the // right side of the layout. In addition to the values of *loc* // listed above, we have 'outside right upper', 'outside right lower', // 'outside left upper', and 'outside left lower'. See // :ref:`legend_guide` for more details. // // bbox_to_anchor : `.BboxBase`, 2-tuple, or 4-tuple of floats // // Box that is used to position the legend in conjunction with *loc*. // Defaults to `axes.bbox` (if called as a method to `.Axes.legend`) or // `figure.bbox` (if `.Figure.legend`). This argument allows arbitrary // placement of the legend. // // Bbox coordinates are interpreted in the coordinate system given by // *bbox_transform*, with the default transform // Axes or Figure coordinates, depending on which ``legend`` is called. // // If a 4-tuple or `.BboxBase` is given, then it specifies the bbox // ``(x, y, width, height)`` that the legend is placed in. // To put the legend in the best location in the bottom right // quadrant of the axes (or figure):: // // loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5) // // A 2-tuple ``(x, y)`` places the corner of the legend specified by *loc* at // x, y. For example, to put the legend's upper right-hand corner in the // center of the axes (or figure) the following keywords can be used:: // // loc='upper right', bbox_to_anchor=(0.5, 0.5) // // ncols : int, default: 1 // // The number of columns that the legend has. // // For backward compatibility, the spelling *ncol* is also supported // but it is discouraged. If both are given, *ncols* takes precedence. // // prop : None or `~matplotlib.font_manager.FontProperties` or dict // // The font properties of the legend. If None (default), the current // :data:`matplotlib.rcParams` will be used. // // fontsize : int or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} // // The font size of the legend. If the value is numeric the size will be the // absolute font size in points. String values are relative to the current // default font size. This argument is only used if *prop* is not specified. // // labelcolor : str or list, default: :rc:`legend.labelcolor` // // The color of the text in the legend. Either a valid color string // (for example, 'red'), or a list of color strings. The labelcolor can // also be made to match the color of the line or marker using 'linecolor', // 'markerfacecolor' (or 'mfc'), or 'markeredgecolor' (or 'mec'). // // Labelcolor can be set globally using :rc:`legend.labelcolor`. If None, // use :rc:`text.color`. // // numpoints : int, default: :rc:`legend.numpoints` // // The number of marker points in the legend when creating a legend // entry for a `.Line2D` (line). // // scatterpoints : int, default: :rc:`legend.scatterpoints` // // The number of marker points in the legend when creating // a legend entry for a `.PathCollection` (scatter plot). // // scatteryoffsets : iterable of floats, default: “[0.375, 0.5, 0.3125]“ // // The vertical offset (relative to the font size) for the markers // created for a scatter plot legend entry. 0.0 is at the base the // legend text, and 1.0 is at the top. To draw all markers at the // same height, set to ``[0.5]``. // // markerscale : float, default: :rc:`legend.markerscale` // // The relative size of legend markers compared to the originally drawn ones. // // markerfirst : bool, default: True // // If *True*, legend marker is placed to the left of the legend label. // If *False*, legend marker is placed to the right of the legend label. // // reverse : bool, default: False // // If *True*, the legend labels are displayed in reverse order from the input. // If *False*, the legend labels are displayed in the same order as the input. // // .. versionadded:: 3.7 // // frameon : bool, default: :rc:`legend.frameon` // // Whether the legend should be drawn on a patch (frame). // // fancybox : bool, default: :rc:`legend.fancybox` // // Whether round edges should be enabled around the `.FancyBboxPatch` which // makes up the legend's background. // // shadow : None, bool or dict, default: :rc:`legend.shadow` // // Whether to draw a shadow behind the legend. // The shadow can be configured using `.Patch` keywords. // Customization via :rc:`legend.shadow` is currently not supported. // // framealpha : float, default: :rc:`legend.framealpha` // // The alpha transparency of the legend's background. // If *shadow* is activated and *framealpha* is ``None``, the default value is // ignored. // // facecolor : "inherit" or color, default: :rc:`legend.facecolor` // // The legend's background color. // If ``"inherit"``, use :rc:`axes.facecolor`. // // edgecolor : "inherit" or color, default: :rc:`legend.edgecolor` // // The legend's background patch edge color. // If ``"inherit"``, use take :rc:`axes.edgecolor`. // // mode : {"expand", None} // // If *mode* is set to ``"expand"`` the legend will be horizontally // expanded to fill the axes area (or *bbox_to_anchor* if defines // the legend's size). // // bbox_transform : None or `~matplotlib.transforms.Transform` // // The transform for the bounding box (*bbox_to_anchor*). For a value // of ``None`` (default) the Axes' // :data:`~matplotlib.axes.Axes.transAxes` transform will be used. // // title : str or None // // The legend's title. Default is no title (``None``). // // title_fontproperties : None or `~matplotlib.font_manager.FontProperties` or dict // // The font properties of the legend's title. If None (default), the // *title_fontsize* argument will be used if present; if *title_fontsize* is // also None, the current :rc:`legend.title_fontsize` will be used. // // title_fontsize : int or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default: :rc:`legend.title_fontsize` // // The font size of the legend's title. // Note: This cannot be combined with *title_fontproperties*. If you want // to set the fontsize alongside other font properties, use the *size* // parameter in *title_fontproperties*. // // alignment : {'center', 'left', 'right'}, default: 'center' // // The alignment of the legend title and the box of entries. The entries // are aligned as a single block, so that markers always lined up. // // borderpad : float, default: :rc:`legend.borderpad` // // The fractional whitespace inside the legend border, in font-size units. // // labelspacing : float, default: :rc:`legend.labelspacing` // // The vertical space between the legend entries, in font-size units. // // handlelength : float, default: :rc:`legend.handlelength` // // The length of the legend handles, in font-size units. // // handleheight : float, default: :rc:`legend.handleheight` // // The height of the legend handles, in font-size units. // // handletextpad : float, default: :rc:`legend.handletextpad` // // The pad between the legend handle and text, in font-size units. // // borderaxespad : float, default: :rc:`legend.borderaxespad` // // The pad between the axes and legend border, in font-size units. // // columnspacing : float, default: :rc:`legend.columnspacing` // // The spacing between columns, in font-size units. // // handler_map : dict or None // // The custom dictionary mapping instances or types to a legend // handler. This *handler_map* updates the default handler map // found at `matplotlib.legend.Legend.get_legend_handler_map`. // // draggable : bool, default: False // // Whether the legend can be dragged with the mouse. // // See Also // -------- // .Axes.legend // // Notes // ----- // Some artists are not supported by this function. See // :ref:`legend_guide` for details. // //go:linkname Figlegend py.figlegend func Figlegend(__llgo_va_list ...interface{}) *py.Object // Add an Axes to the current figure and make it the current Axes. // // Call signatures:: // // plt.axes() // plt.axes(rect, projection=None, polar=False, **kwargs) // plt.axes(ax) // // Parameters // ---------- // arg : None or 4-tuple // // The exact behavior of this function depends on the type: // // - *None*: A new full window Axes is added using // ``subplot(**kwargs)``. // - 4-tuple of floats *rect* = ``(left, bottom, width, height)``. // A new Axes is added with dimensions *rect* in normalized // (0, 1) units using `~.Figure.add_axes` on the current figure. // // projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, optional // // The projection type of the `~.axes.Axes`. *str* is the name of // a custom projection, see `~matplotlib.projections`. The default // None results in a 'rectilinear' projection. // // polar : bool, default: False // // If True, equivalent to projection='polar'. // // sharex, sharey : `~matplotlib.axes.Axes`, optional // // Share the x or y `~matplotlib.axis` with sharex and/or sharey. // The axis will have the same limits, ticks, and scale as the axis // of the shared Axes. // // label : str // // A label for the returned Axes. // // Returns // ------- // `~.axes.Axes`, or a subclass of `~.axes.Axes` // // The returned axes class depends on the projection used. It is // `~.axes.Axes` if rectilinear projection is used and // `.projections.polar.PolarAxes` if polar projection is used. // // Other Parameters // ---------------- // **kwargs // // This method also takes the keyword arguments for // the returned Axes class. The keyword arguments for the // rectilinear Axes class `~.axes.Axes` can be found in // the following table but there might also be other keyword // arguments if another projection is used, see the actual Axes // class. // // Properties: // adjustable: {'box', 'datalim'} // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // anchor: (float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...} // animated: bool // aspect: {'auto', 'equal'} or float // autoscale_on: bool // autoscalex_on: unknown // autoscaley_on: unknown // axes_locator: Callable[[Axes, Renderer], Bbox] // axisbelow: bool or 'line' // box_aspect: float or None // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // facecolor or fc: color // figure: `~matplotlib.figure.Figure` // frame_on: bool // gid: str // in_layout: bool // label: object // mouseover: bool // navigate: bool // navigate_mode: unknown // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // position: [left, bottom, width, height] or `~matplotlib.transforms.Bbox` // prop_cycle: `~cycler.Cycler` // rasterization_zorder: float or None // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // subplotspec: unknown // title: str // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // xbound: (lower: float, upper: float) // xlabel: str // xlim: (left: float, right: float) // xmargin: float greater than -0.5 // xscale: unknown // xticklabels: unknown // xticks: unknown // ybound: (lower: float, upper: float) // ylabel: str // ylim: (bottom: float, top: float) // ymargin: float greater than -0.5 // yscale: unknown // yticklabels: unknown // yticks: unknown // zorder: float // // See Also // -------- // .Figure.add_axes // .pyplot.subplot // .Figure.add_subplot // .Figure.subplots // .pyplot.subplots // // Examples // -------- // :: // // # Creating a new full window Axes // plt.axes() // // # Creating a new Axes with specified dimensions and a grey background // plt.axes((left, bottom, width, height), facecolor='grey') // //go:linkname Axes py.axes func Axes(arg *py.Object) *py.Object // Remove an `~.axes.Axes` (defaulting to the current axes) from its figure. // //go:linkname Delaxes py.delaxes func Delaxes(ax *py.Object) *py.Object // Set the current Axes to *ax* and the current Figure to the parent of *ax*. // //go:linkname Sca py.sca func Sca(ax *py.Object) *py.Object // Clear the current axes. // //go:linkname Cla py.cla func Cla() *py.Object // Add an Axes to the current figure or retrieve an existing Axes. // // This is a wrapper of `.Figure.add_subplot` which provides additional // behavior when working with the implicit API (see the notes section). // // Call signatures:: // // subplot(nrows, ncols, index, **kwargs) // subplot(pos, **kwargs) // subplot(**kwargs) // subplot(ax) // // Parameters // ---------- // *args : int, (int, int, *index*), or `.SubplotSpec`, default: (1, 1, 1) // // The position of the subplot described by one of // // - Three integers (*nrows*, *ncols*, *index*). The subplot will take the // *index* position on a grid with *nrows* rows and *ncols* columns. // *index* starts at 1 in the upper left corner and increases to the // right. *index* can also be a two-tuple specifying the (*first*, // *last*) indices (1-based, and including *last*) of the subplot, e.g., // ``fig.add_subplot(3, 1, (1, 2))`` makes a subplot that spans the // upper 2/3 of the figure. // - A 3-digit integer. The digits are interpreted as if given separately // as three single-digit integers, i.e. ``fig.add_subplot(235)`` is the // same as ``fig.add_subplot(2, 3, 5)``. Note that this can only be used // if there are no more than 9 subplots. // - A `.SubplotSpec`. // // projection : {None, 'aitoff', 'hammer', 'lambert', 'mollweide', 'polar', 'rectilinear', str}, optional // // The projection type of the subplot (`~.axes.Axes`). *str* is the name // of a custom projection, see `~matplotlib.projections`. The default // None results in a 'rectilinear' projection. // // polar : bool, default: False // // If True, equivalent to projection='polar'. // // sharex, sharey : `~matplotlib.axes.Axes`, optional // // Share the x or y `~matplotlib.axis` with sharex and/or sharey. The // axis will have the same limits, ticks, and scale as the axis of the // shared axes. // // label : str // // A label for the returned axes. // // Returns // ------- // `~.axes.Axes` // // The Axes of the subplot. The returned Axes can actually be an instance // of a subclass, such as `.projections.polar.PolarAxes` for polar // projections. // // Other Parameters // ---------------- // **kwargs // // This method also takes the keyword arguments for the returned axes // base class; except for the *figure* argument. The keyword arguments // for the rectilinear base class `~.axes.Axes` can be found in // the following table but there might also be other keyword // arguments if another projection is used. // // Properties: // adjustable: {'box', 'datalim'} // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // anchor: (float, float) or {'C', 'SW', 'S', 'SE', 'E', 'NE', ...} // animated: bool // aspect: {'auto', 'equal'} or float // autoscale_on: bool // autoscalex_on: unknown // autoscaley_on: unknown // axes_locator: Callable[[Axes, Renderer], Bbox] // axisbelow: bool or 'line' // box_aspect: float or None // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // facecolor or fc: color // figure: `~matplotlib.figure.Figure` // frame_on: bool // gid: str // in_layout: bool // label: object // mouseover: bool // navigate: bool // navigate_mode: unknown // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // position: [left, bottom, width, height] or `~matplotlib.transforms.Bbox` // prop_cycle: `~cycler.Cycler` // rasterization_zorder: float or None // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // subplotspec: unknown // title: str // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // xbound: (lower: float, upper: float) // xlabel: str // xlim: (left: float, right: float) // xmargin: float greater than -0.5 // xscale: unknown // xticklabels: unknown // xticks: unknown // ybound: (lower: float, upper: float) // ylabel: str // ylim: (bottom: float, top: float) // ymargin: float greater than -0.5 // yscale: unknown // yticklabels: unknown // yticks: unknown // zorder: float // // Notes // ----- // Creating a new Axes will delete any preexisting Axes that // overlaps with it beyond sharing a boundary:: // // import matplotlib.pyplot as plt // # plot a line, implicitly creating a subplot(111) // plt.plot([1, 2, 3]) // # now create a subplot which represents the top plot of a grid // # with 2 rows and 1 column. Since this subplot will overlap the // # first, the plot (and its axes) previously created, will be removed // plt.subplot(211) // // If you do not want this behavior, use the `.Figure.add_subplot` method // or the `.pyplot.axes` function instead. // // If no *kwargs* are passed and there exists an Axes in the location // specified by *args* then that Axes will be returned rather than a new // Axes being created. // // If *kwargs* are passed and there exists an Axes in the location // specified by *args*, the projection type is the same, and the // *kwargs* match with the existing Axes, then the existing Axes is // returned. Otherwise a new Axes is created with the specified // parameters. We save a reference to the *kwargs* which we use // for this comparison. If any of the values in *kwargs* are // mutable we will not detect the case where they are mutated. // In these cases we suggest using `.Figure.add_subplot` and the // explicit Axes API rather than the implicit pyplot API. // // See Also // -------- // .Figure.add_subplot // .pyplot.subplots // .pyplot.axes // .Figure.subplots // // Examples // -------- // :: // // plt.subplot(221) // // # equivalent but more general // ax1 = plt.subplot(2, 2, 1) // // # add a subplot with no frame // ax2 = plt.subplot(222, frameon=False) // // # add a polar subplot // plt.subplot(223, projection='polar') // // # add a red subplot that shares the x-axis with ax1 // plt.subplot(224, sharex=ax1, facecolor='red') // // # delete ax2 from the figure // plt.delaxes(ax2) // // # add ax2 to the figure again // plt.subplot(ax2) // // # make the first axes "current" again // plt.subplot(221) // //go:linkname Subplot py.subplot func Subplot(__llgo_va_list ...interface{}) *py.Object // Create a figure and a set of subplots. // // This utility wrapper makes it convenient to create common layouts of // subplots, including the enclosing figure object, in a single call. // // Parameters // ---------- // nrows, ncols : int, default: 1 // // Number of rows/columns of the subplot grid. // // sharex, sharey : bool or {'none', 'all', 'row', 'col'}, default: False // // Controls sharing of properties among x (*sharex*) or y (*sharey*) // axes: // // - True or 'all': x- or y-axis will be shared among all subplots. // - False or 'none': each subplot x- or y-axis will be independent. // - 'row': each subplot row will share an x- or y-axis. // - 'col': each subplot column will share an x- or y-axis. // // When subplots have a shared x-axis along a column, only the x tick // labels of the bottom subplot are created. Similarly, when subplots // have a shared y-axis along a row, only the y tick labels of the first // column subplot are created. To later turn other subplots' ticklabels // on, use `~matplotlib.axes.Axes.tick_params`. // // When subplots have a shared axis that has units, calling // `~matplotlib.axis.Axis.set_units` will update each axis with the // new units. // // squeeze : bool, default: True // // - If True, extra dimensions are squeezed out from the returned // array of `~matplotlib.axes.Axes`: // // - if only one subplot is constructed (nrows=ncols=1), the // resulting single Axes object is returned as a scalar. // // - for Nx1 or 1xM subplots, the returned object is a 1D numpy // object array of Axes objects. // // - for NxM, subplots with N>1 and M>1 are returned as a 2D array. // // - If False, no squeezing at all is done: the returned Axes object is // always a 2D array containing Axes instances, even if it ends up // being 1x1. // // width_ratios : array-like of length *ncols*, optional // // Defines the relative widths of the columns. Each column gets a // relative width of ``width_ratios[i] / sum(width_ratios)``. // If not given, all columns will have the same width. Equivalent // to ``gridspec_kw={'width_ratios': [...]}``. // // height_ratios : array-like of length *nrows*, optional // // Defines the relative heights of the rows. Each row gets a // relative height of ``height_ratios[i] / sum(height_ratios)``. // If not given, all rows will have the same height. Convenience // for ``gridspec_kw={'height_ratios': [...]}``. // // subplot_kw : dict, optional // // Dict with keywords passed to the // `~matplotlib.figure.Figure.add_subplot` call used to create each // subplot. // // gridspec_kw : dict, optional // // Dict with keywords passed to the `~matplotlib.gridspec.GridSpec` // constructor used to create the grid the subplots are placed on. // // **fig_kw // // All additional keyword arguments are passed to the // `.pyplot.figure` call. // // Returns // ------- // fig : `.Figure` // // ax : `~matplotlib.axes.Axes` or array of Axes // // *ax* can be either a single `~.axes.Axes` object, or an array of Axes // objects if more than one subplot was created. The dimensions of the // resulting array can be controlled with the squeeze keyword, see above. // // Typical idioms for handling the return value are:: // // # using the variable ax for single a Axes // fig, ax = plt.subplots() // // # using the variable axs for multiple Axes // fig, axs = plt.subplots(2, 2) // // # using tuple unpacking for multiple Axes // fig, (ax1, ax2) = plt.subplots(1, 2) // fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2) // // The names ``ax`` and pluralized ``axs`` are preferred over ``axes`` // because for the latter it's not clear if it refers to a single // `~.axes.Axes` instance or a collection of these. // // See Also // -------- // .pyplot.figure // .pyplot.subplot // .pyplot.axes // .Figure.subplots // .Figure.add_subplot // // Examples // -------- // :: // // # First create some toy data: // x = np.linspace(0, 2*np.pi, 400) // y = np.sin(x**2) // // # Create just a figure and only one subplot // fig, ax = plt.subplots() // ax.plot(x, y) // ax.set_title('Simple plot') // // # Create two subplots and unpack the output array immediately // f, (ax1, ax2) = plt.subplots(1, 2, sharey=True) // ax1.plot(x, y) // ax1.set_title('Sharing Y axis') // ax2.scatter(x, y) // // # Create four polar axes and access them through the returned array // fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar")) // axs[0, 0].plot(x, y) // axs[1, 1].scatter(x, y) // // # Share a X axis with each column of subplots // plt.subplots(2, 2, sharex='col') // // # Share a Y axis with each row of subplots // plt.subplots(2, 2, sharey='row') // // # Share both X and Y axes with all subplots // plt.subplots(2, 2, sharex='all', sharey='all') // // # Note that this is the same as // plt.subplots(2, 2, sharex=True, sharey=True) // // # Create figure number 10 with a single subplot // # and clears it if it already exists. // fig, ax = plt.subplots(num=10, clear=True) // //go:linkname Subplots py.subplots func Subplots(nrows *py.Object, ncols *py.Object) *py.Object // Build a layout of Axes based on ASCII art or nested lists. // // This is a helper function to build complex GridSpec layouts visually. // // See :ref:`mosaic` // for an example and full API documentation // // Parameters // ---------- // mosaic : list of list of {hashable or nested} or str // // A visual layout of how you want your Axes to be arranged // labeled as strings. For example :: // // x = [['A panel', 'A panel', 'edge'], // ['C panel', '.', 'edge']] // // produces 4 axes: // // - 'A panel' which is 1 row high and spans the first two columns // - 'edge' which is 2 rows high and is on the right edge // - 'C panel' which in 1 row and 1 column wide in the bottom left // - a blank space 1 row and 1 column wide in the bottom center // // Any of the entries in the layout can be a list of lists // of the same form to create nested layouts. // // If input is a str, then it must be of the form :: // // ''' // AAE // C.E // ''' // // where each character is a column and each line is a row. // This only allows only single character Axes labels and does // not allow nesting but is very terse. // // sharex, sharey : bool, default: False // // If True, the x-axis (*sharex*) or y-axis (*sharey*) will be shared // among all subplots. In that case, tick label visibility and axis units // behave as for `subplots`. If False, each subplot's x- or y-axis will // be independent. // // width_ratios : array-like of length *ncols*, optional // // Defines the relative widths of the columns. Each column gets a // relative width of ``width_ratios[i] / sum(width_ratios)``. // If not given, all columns will have the same width. Convenience // for ``gridspec_kw={'width_ratios': [...]}``. // // height_ratios : array-like of length *nrows*, optional // // Defines the relative heights of the rows. Each row gets a // relative height of ``height_ratios[i] / sum(height_ratios)``. // If not given, all rows will have the same height. Convenience // for ``gridspec_kw={'height_ratios': [...]}``. // // empty_sentinel : object, optional // // Entry in the layout to mean "leave this space empty". Defaults // to ``'.'``. Note, if *layout* is a string, it is processed via // `inspect.cleandoc` to remove leading white space, which may // interfere with using white-space as the empty sentinel. // // subplot_kw : dict, optional // // Dictionary with keywords passed to the `.Figure.add_subplot` call // used to create each subplot. These values may be overridden by // values in *per_subplot_kw*. // // per_subplot_kw : dict, optional // // A dictionary mapping the Axes identifiers or tuples of identifiers // to a dictionary of keyword arguments to be passed to the // `.Figure.add_subplot` call used to create each subplot. The values // in these dictionaries have precedence over the values in // *subplot_kw*. // // If *mosaic* is a string, and thus all keys are single characters, // it is possible to use a single string instead of a tuple as keys; // i.e. ``"AB"`` is equivalent to ``("A", "B")``. // // .. versionadded:: 3.7 // // gridspec_kw : dict, optional // // Dictionary with keywords passed to the `.GridSpec` constructor used // to create the grid the subplots are placed on. // // **fig_kw // // All additional keyword arguments are passed to the // `.pyplot.figure` call. // // Returns // ------- // fig : `.Figure` // // The new figure // // dict[label, Axes] // // A dictionary mapping the labels to the Axes objects. The order of // the axes is left-to-right and top-to-bottom of their position in the // total layout. // //go:linkname SubplotMosaic py.subplot_mosaic func SubplotMosaic(mosaic *py.Object) *py.Object // Create a subplot at a specific location inside a regular grid. // // Parameters // ---------- // shape : (int, int) // // Number of rows and of columns of the grid in which to place axis. // // loc : (int, int) // // Row number and column number of the axis location within the grid. // // rowspan : int, default: 1 // // Number of rows for the axis to span downwards. // // colspan : int, default: 1 // // Number of columns for the axis to span to the right. // // fig : `.Figure`, optional // // Figure to place the subplot in. Defaults to the current figure. // // **kwargs // // Additional keyword arguments are handed to `~.Figure.add_subplot`. // // Returns // ------- // `~.axes.Axes` // // The Axes of the subplot. The returned Axes can actually be an instance // of a subclass, such as `.projections.polar.PolarAxes` for polar // projections. // // Notes // ----- // The following call :: // // ax = subplot2grid((nrows, ncols), (row, col), rowspan, colspan) // // is identical to :: // // fig = gcf() // gs = fig.add_gridspec(nrows, ncols) // ax = fig.add_subplot(gs[row:row+rowspan, col:col+colspan]) // //go:linkname Subplot2grid py.subplot2grid func Subplot2grid(shape *py.Object, loc *py.Object, rowspan *py.Object, colspan *py.Object, fig *py.Object) *py.Object // Make and return a second axes that shares the *x*-axis. The new axes will // overlay *ax* (or the current axes if *ax* is *None*), and its ticks will be // on the right. // // Examples // -------- // :doc:`/gallery/subplots_axes_and_figures/two_scales` // //go:linkname Twinx py.twinx func Twinx(ax *py.Object) *py.Object // Make and return a second axes that shares the *y*-axis. The new axes will // overlay *ax* (or the current axes if *ax* is *None*), and its ticks will be // on the top. // // Examples // -------- // :doc:`/gallery/subplots_axes_and_figures/two_scales` // //go:linkname Twiny py.twiny func Twiny(ax *py.Object) *py.Object // Launch a subplot tool window for a figure. // // Returns // ------- // `matplotlib.widgets.SubplotTool` // //go:linkname SubplotTool py.subplot_tool func SubplotTool(targetfig *py.Object) *py.Object // Turn the axes box on or off on the current axes. // // Parameters // ---------- // on : bool or None // // The new `~matplotlib.axes.Axes` box state. If ``None``, toggle // the state. // // See Also // -------- // :meth:`matplotlib.axes.Axes.set_frame_on` // :meth:`matplotlib.axes.Axes.get_frame_on` // //go:linkname Box py.box func Box(on *py.Object) *py.Object // Get or set the x limits of the current axes. // // Call signatures:: // // left, right = xlim() # return the current xlim // xlim((left, right)) # set the xlim to left, right // xlim(left, right) # set the xlim to left, right // // If you do not specify args, you can pass *left* or *right* as kwargs, // i.e.:: // // xlim(right=3) # adjust the right leaving left unchanged // xlim(left=1) # adjust the left leaving right unchanged // // Setting limits turns autoscaling off for the x-axis. // // Returns // ------- // left, right // // A tuple of the new x-axis limits. // // Notes // ----- // Calling this function with no arguments (e.g. “xlim()“) is the pyplot // equivalent of calling `~.Axes.get_xlim` on the current axes. // Calling this function with arguments is the pyplot equivalent of calling // `~.Axes.set_xlim` on the current axes. All arguments are passed though. // //go:linkname Xlim py.xlim func Xlim(__llgo_va_list ...interface{}) *py.Object // Get or set the y-limits of the current axes. // // Call signatures:: // // bottom, top = ylim() # return the current ylim // ylim((bottom, top)) # set the ylim to bottom, top // ylim(bottom, top) # set the ylim to bottom, top // // If you do not specify args, you can alternatively pass *bottom* or // *top* as kwargs, i.e.:: // // ylim(top=3) # adjust the top leaving bottom unchanged // ylim(bottom=1) # adjust the bottom leaving top unchanged // // Setting limits turns autoscaling off for the y-axis. // // Returns // ------- // bottom, top // // A tuple of the new y-axis limits. // // Notes // ----- // Calling this function with no arguments (e.g. “ylim()“) is the pyplot // equivalent of calling `~.Axes.get_ylim` on the current axes. // Calling this function with arguments is the pyplot equivalent of calling // `~.Axes.set_ylim` on the current axes. All arguments are passed though. // //go:linkname Ylim py.ylim func Ylim(__llgo_va_list ...interface{}) *py.Object // Get or set the current tick locations and labels of the x-axis. // // Pass no arguments to return the current values without modifying them. // // Parameters // ---------- // ticks : array-like, optional // // The list of xtick locations. Passing an empty list removes all xticks. // // labels : array-like, optional // // The labels to place at the given *ticks* locations. This argument can // only be passed if *ticks* is passed as well. // // minor : bool, default: False // // If ``False``, get/set the major ticks/labels; if ``True``, the minor // ticks/labels. // // **kwargs // // `.Text` properties can be used to control the appearance of the labels. // // Returns // ------- // locs // // The list of xtick locations. // // labels // // The list of xlabel `.Text` objects. // // Notes // ----- // Calling this function with no arguments (e.g. “xticks()“) is the pyplot // equivalent of calling `~.Axes.get_xticks` and `~.Axes.get_xticklabels` on // the current axes. // Calling this function with arguments is the pyplot equivalent of calling // `~.Axes.set_xticks` and `~.Axes.set_xticklabels` on the current axes. // // Examples // -------- // >>> locs, labels = xticks() # Get the current locations and labels. // >>> xticks(np.arange(0, 1, step=0.2)) # Set label locations. // >>> xticks(np.arange(3), ['Tom', 'Dick', 'Sue']) # Set text labels. // >>> xticks([0, 1, 2], ['January', 'February', 'March'], // ... rotation=20) # Set text labels and properties. // >>> xticks([]) # Disable xticks. // //go:linkname Xticks py.xticks func Xticks(ticks *py.Object, labels *py.Object) *py.Object // Get or set the current tick locations and labels of the y-axis. // // Pass no arguments to return the current values without modifying them. // // Parameters // ---------- // ticks : array-like, optional // // The list of ytick locations. Passing an empty list removes all yticks. // // labels : array-like, optional // // The labels to place at the given *ticks* locations. This argument can // only be passed if *ticks* is passed as well. // // minor : bool, default: False // // If ``False``, get/set the major ticks/labels; if ``True``, the minor // ticks/labels. // // **kwargs // // `.Text` properties can be used to control the appearance of the labels. // // Returns // ------- // locs // // The list of ytick locations. // // labels // // The list of ylabel `.Text` objects. // // Notes // ----- // Calling this function with no arguments (e.g. “yticks()“) is the pyplot // equivalent of calling `~.Axes.get_yticks` and `~.Axes.get_yticklabels` on // the current axes. // Calling this function with arguments is the pyplot equivalent of calling // `~.Axes.set_yticks` and `~.Axes.set_yticklabels` on the current axes. // // Examples // -------- // >>> locs, labels = yticks() # Get the current locations and labels. // >>> yticks(np.arange(0, 1, step=0.2)) # Set label locations. // >>> yticks(np.arange(3), ['Tom', 'Dick', 'Sue']) # Set text labels. // >>> yticks([0, 1, 2], ['January', 'February', 'March'], // ... rotation=45) # Set text labels and properties. // >>> yticks([]) # Disable yticks. // //go:linkname Yticks py.yticks func Yticks(ticks *py.Object, labels *py.Object) *py.Object // Get or set the radial gridlines on the current polar plot. // // Call signatures:: // // lines, labels = rgrids() // lines, labels = rgrids(radii, labels=None, angle=22.5, fmt=None, **kwargs) // // When called with no arguments, `.rgrids` simply returns the tuple // (*lines*, *labels*). When called with arguments, the labels will // appear at the specified radial distances and angle. // // Parameters // ---------- // radii : tuple with floats // // The radii for the radial gridlines // // labels : tuple with strings or None // // The labels to use at each radial gridline. The // `matplotlib.ticker.ScalarFormatter` will be used if None. // // angle : float // // The angular position of the radius labels in degrees. // // fmt : str or None // // Format string used in `matplotlib.ticker.FormatStrFormatter`. // For example '%f'. // // Returns // ------- // lines : list of `.lines.Line2D` // // The radial gridlines. // // labels : list of `.text.Text` // // The tick labels. // // Other Parameters // ---------------- // **kwargs // // *kwargs* are optional `.Text` properties for the labels. // // See Also // -------- // .pyplot.thetagrids // .projections.polar.PolarAxes.set_rgrids // .Axis.get_gridlines // .Axis.get_ticklabels // // Examples // -------- // :: // // # set the locations of the radial gridlines // lines, labels = rgrids( (0.25, 0.5, 1.0) ) // // # set the locations and labels of the radial gridlines // lines, labels = rgrids( (0.25, 0.5, 1.0), ('Tom', 'Dick', 'Harry' )) // //go:linkname Rgrids py.rgrids func Rgrids(radii *py.Object, labels *py.Object, angle *py.Object, fmt *py.Object) *py.Object // Get or set the theta gridlines on the current polar plot. // // Call signatures:: // // lines, labels = thetagrids() // lines, labels = thetagrids(angles, labels=None, fmt=None, **kwargs) // // When called with no arguments, `.thetagrids` simply returns the tuple // (*lines*, *labels*). When called with arguments, the labels will // appear at the specified angles. // // Parameters // ---------- // angles : tuple with floats, degrees // // The angles of the theta gridlines. // // labels : tuple with strings or None // // The labels to use at each radial gridline. The // `.projections.polar.ThetaFormatter` will be used if None. // // fmt : str or None // // Format string used in `matplotlib.ticker.FormatStrFormatter`. // For example '%f'. Note that the angle in radians will be used. // // Returns // ------- // lines : list of `.lines.Line2D` // // The theta gridlines. // // labels : list of `.text.Text` // // The tick labels. // // Other Parameters // ---------------- // **kwargs // // *kwargs* are optional `.Text` properties for the labels. // // See Also // -------- // .pyplot.rgrids // .projections.polar.PolarAxes.set_thetagrids // .Axis.get_gridlines // .Axis.get_ticklabels // // Examples // -------- // :: // // # set the locations of the angular gridlines // lines, labels = thetagrids(range(45, 360, 90)) // // # set the locations and labels of the angular gridlines // lines, labels = thetagrids(range(45, 360, 90), ('NE', 'NW', 'SW', 'SE')) // //go:linkname Thetagrids py.thetagrids func Thetagrids(angles *py.Object, labels *py.Object, fmt *py.Object) *py.Object // [*Deprecated*] Get a sorted list of all of the plotting commands. // // Notes // ----- // .. deprecated:: 3.7 // //go:linkname GetPlotCommands py.get_plot_commands func GetPlotCommands() *py.Object // Add a colorbar to a plot. // // Parameters // ---------- // mappable // // The `matplotlib.cm.ScalarMappable` (i.e., `.AxesImage`, // `.ContourSet`, etc.) described by this colorbar. This argument is // mandatory for the `.Figure.colorbar` method but optional for the // `.pyplot.colorbar` function, which sets the default to the current // image. // // Note that one can create a `.ScalarMappable` "on-the-fly" to // generate colorbars not attached to a previously drawn artist, e.g. // :: // // fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax) // // cax : `~matplotlib.axes.Axes`, optional // // Axes into which the colorbar will be drawn. If `None`, then a new // Axes is created and the space for it will be stolen from the Axes(s) // specified in *ax*. // // ax : `~matplotlib.axes.Axes` or iterable or `numpy.ndarray` of Axes, optional // // The one or more parent Axes from which space for a new colorbar Axes // will be stolen. This parameter is only used if *cax* is not set. // // Defaults to the Axes that contains the mappable used to create the // colorbar. // // use_gridspec : bool, optional // // If *cax* is ``None``, a new *cax* is created as an instance of // Axes. If *ax* is positioned with a subplotspec and *use_gridspec* // is ``True``, then *cax* is also positioned with a subplotspec. // // Returns // ------- // colorbar : `~matplotlib.colorbar.Colorbar` // // Other Parameters // ---------------- // // location : None or {'left', 'right', 'top', 'bottom'} // // The location, relative to the parent axes, where the colorbar axes // is created. It also determines the *orientation* of the colorbar // (colorbars on the left and right are vertical, colorbars at the top // and bottom are horizontal). If None, the location will come from the // *orientation* if it is set (vertical colorbars on the right, horizontal // ones at the bottom), or default to 'right' if *orientation* is unset. // // orientation : None or {'vertical', 'horizontal'} // // The orientation of the colorbar. It is preferable to set the *location* // of the colorbar, as that also determines the *orientation*; passing // incompatible values for *location* and *orientation* raises an exception. // // fraction : float, default: 0.15 // // Fraction of original axes to use for colorbar. // // shrink : float, default: 1.0 // // Fraction by which to multiply the size of the colorbar. // // aspect : float, default: 20 // // Ratio of long to short dimensions. // // pad : float, default: 0.05 if vertical, 0.15 if horizontal // // Fraction of original axes between colorbar and new image axes. // // anchor : (float, float), optional // // The anchor point of the colorbar axes. // Defaults to (0.0, 0.5) if vertical; (0.5, 1.0) if horizontal. // // panchor : (float, float), or *False*, optional // // The anchor point of the colorbar parent axes. If *False*, the parent // axes' anchor will be unchanged. // Defaults to (1.0, 0.5) if vertical; (0.5, 0.0) if horizontal. // // extend : {'neither', 'both', 'min', 'max'} // // Make pointed end(s) for out-of-range values (unless 'neither'). These are // set for a given colormap using the colormap set_under and set_over methods. // // extendfrac : {*None*, 'auto', length, lengths} // // If set to *None*, both the minimum and maximum triangular colorbar // extensions will have a length of 5% of the interior colorbar length (this // is the default setting). // // If set to 'auto', makes the triangular colorbar extensions the same lengths // as the interior boxes (when *spacing* is set to 'uniform') or the same // lengths as the respective adjacent interior boxes (when *spacing* is set to // 'proportional'). // // If a scalar, indicates the length of both the minimum and maximum // triangular colorbar extensions as a fraction of the interior colorbar // length. A two-element sequence of fractions may also be given, indicating // the lengths of the minimum and maximum colorbar extensions respectively as // a fraction of the interior colorbar length. // // extendrect : bool // // If *False* the minimum and maximum colorbar extensions will be triangular // (the default). If *True* the extensions will be rectangular. // // spacing : {'uniform', 'proportional'} // // For discrete colorbars (`.BoundaryNorm` or contours), 'uniform' gives each // color the same space; 'proportional' makes the space proportional to the // data interval. // // ticks : None or list of ticks or Locator // // If None, ticks are determined automatically from the input. // // format : None or str or Formatter // // If None, `~.ticker.ScalarFormatter` is used. // Format strings, e.g., ``"%4.2e"`` or ``"{x:.2e}"``, are supported. // An alternative `~.ticker.Formatter` may be given instead. // // drawedges : bool // // Whether to draw lines at color boundaries. // // label : str // // The label on the colorbar's long axis. // // boundaries, values : None or a sequence // // If unset, the colormap will be displayed on a 0-1 scale. // If sequences, *values* must have a length 1 less than *boundaries*. For // each region delimited by adjacent entries in *boundaries*, the color mapped // to the corresponding value in values will be used. // Normally only useful for indexed colors (i.e. ``norm=NoNorm()``) or other // unusual circumstances. // // Notes // ----- // If *mappable* is a `~.contour.ContourSet`, its *extend* kwarg is // included automatically. // // The *shrink* kwarg provides a simple way to scale the colorbar with // respect to the axes. Note that if *cax* is specified, it determines the // size of the colorbar, and *shrink* and *aspect* are ignored. // // For more precise control, you can manually specify the positions of the // axes objects in which the mappable and the colorbar are drawn. In this // case, do not use any of the axes properties kwargs. // // It is known that some vector graphics viewers (svg and pdf) render // white gaps between segments of the colorbar. This is due to bugs in // the viewers, not Matplotlib. As a workaround, the colorbar can be // rendered with overlapping segments:: // // cbar = colorbar() // cbar.solids.set_edgecolor("face") // draw() // // However, this has negative consequences in other circumstances, e.g. // with semi-transparent images (alpha < 1) and colorbar extensions; // therefore, this workaround is not used by default (see issue #1188). // //go:linkname Colorbar py.colorbar func Colorbar(mappable *py.Object, cax *py.Object, ax *py.Object) *py.Object // Set the color limits of the current image. // // If either *vmin* or *vmax* is None, the image min/max respectively // will be used for color scaling. // // If you want to set the clim of multiple images, use // `~.ScalarMappable.set_clim` on every image, for example:: // // for im in gca().get_images(): // im.set_clim(0, 0.5) // //go:linkname Clim py.clim func Clim(vmin *py.Object, vmax *py.Object) *py.Object // Get a colormap instance, defaulting to rc values if *name* is None. // // Parameters // ---------- // name : `~matplotlib.colors.Colormap` or str or None, default: None // // If a `.Colormap` instance, it will be returned. Otherwise, the name of // a colormap known to Matplotlib, which will be resampled by *lut*. The // default, None, means :rc:`image.cmap`. // // lut : int or None, default: None // // If *name* is not already a Colormap instance and *lut* is not None, the // colormap will be resampled to have *lut* entries in the lookup table. // // Returns // ------- // Colormap // //go:linkname GetCmap py.get_cmap func GetCmap(name *py.Object, lut *py.Object) *py.Object // Set the default colormap, and applies it to the current image if any. // // Parameters // ---------- // cmap : `~matplotlib.colors.Colormap` or str // // A colormap instance or the name of a registered colormap. // // See Also // -------- // colormaps // matplotlib.cm.register_cmap // matplotlib.cm.get_cmap // //go:linkname SetCmap py.set_cmap func SetCmap(cmap *py.Object) *py.Object // Read an image from a file into an array. // // .. note:: // // This function exists for historical reasons. It is recommended to // use `PIL.Image.open` instead for loading images. // // Parameters // ---------- // fname : str or file-like // // The image file to read: a filename, a URL or a file-like object opened // in read-binary mode. // // Passing a URL is deprecated. Please open the URL // for reading and pass the result to Pillow, e.g. with // ``np.array(PIL.Image.open(urllib.request.urlopen(url)))``. // // format : str, optional // // The image file format assumed for reading the data. The image is // loaded as a PNG file if *format* is set to "png", if *fname* is a path // or opened file with a ".png" extension, or if it is a URL. In all // other cases, *format* is ignored and the format is auto-detected by // `PIL.Image.open`. // // Returns // ------- // `numpy.array` // // The image data. The returned array has shape // // - (M, N) for grayscale images. // - (M, N, 3) for RGB images. // - (M, N, 4) for RGBA images. // // PNG images are returned as float arrays (0-1). All other formats are // returned as int arrays, with a bit depth determined by the file's // contents. // //go:linkname Imread py.imread func Imread(fname *py.Object, format *py.Object) *py.Object // Colormap and save an array as an image file. // // RGB(A) images are passed through. Single channel images will be // colormapped according to *cmap* and *norm*. // // .. note:: // // If you want to save a single channel image as gray scale please use an // image I/O library (such as pillow, tifffile, or imageio) directly. // // Parameters // ---------- // fname : str or path-like or file-like // // A path or a file-like object to store the image in. // If *format* is not set, then the output format is inferred from the // extension of *fname*, if any, and from :rc:`savefig.format` otherwise. // If *format* is set, it determines the output format. // // arr : array-like // // The image data. The shape can be one of // MxN (luminance), MxNx3 (RGB) or MxNx4 (RGBA). // // vmin, vmax : float, optional // // *vmin* and *vmax* set the color scaling for the image by fixing the // values that map to the colormap color limits. If either *vmin* // or *vmax* is None, that limit is determined from the *arr* // min/max value. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // A Colormap instance or registered colormap name. The colormap // maps scalar data to colors. It is ignored for RGB(A) data. // // format : str, optional // // The file format, e.g. 'png', 'pdf', 'svg', ... The behavior when this // is unset is documented under *fname*. // // origin : {'upper', 'lower'}, default: :rc:`image.origin` // // Indicates whether the ``(0, 0)`` index of the array is in the upper // left or lower left corner of the axes. // // dpi : float // // The DPI to store in the metadata of the file. This does not affect the // resolution of the output image. Depending on file format, this may be // rounded to the nearest integer. // // metadata : dict, optional // // Metadata in the image file. The supported keys depend on the output // format, see the documentation of the respective backends for more // information. // Currently only supported for "png", "pdf", "ps", "eps", and "svg". // // pil_kwargs : dict, optional // // Keyword arguments passed to `PIL.Image.Image.save`. If the 'pnginfo' // key is present, it completely overrides *metadata*, including the // default 'Software' key. // //go:linkname Imsave py.imsave func Imsave(fname *py.Object, arr *py.Object) *py.Object // Display an array as a matrix in a new figure window. // // The origin is set at the upper left hand corner and rows (first // dimension of the array) are displayed horizontally. The aspect // ratio of the figure window is that of the array, unless this would // make an excessively short or narrow figure. // // Tick labels for the xaxis are placed on top. // // Parameters // ---------- // A : 2D array-like // // The matrix to be displayed. // // fignum : None or int // // If *None*, create a new, appropriately sized figure window. // // If 0, use the current Axes (creating one if there is none, without ever // adjusting the figure size). // // Otherwise, create a new Axes on the figure with the given number // (creating it at the appropriate size if it does not exist, but not // adjusting the figure size otherwise). Note that this will be drawn on // top of any preexisting Axes on the figure. // // Returns // ------- // `~matplotlib.image.AxesImage` // // Other Parameters // ---------------- // **kwargs : `~matplotlib.axes.Axes.imshow` arguments // //go:linkname Matshow py.matshow func Matshow(A *py.Object, fignum *py.Object) *py.Object // Make a polar plot. // // call signature:: // // polar(theta, r, **kwargs) // // Multiple *theta*, *r* arguments are supported, with format strings, as in // `plot`. // //go:linkname Polar py.polar func Polar(__llgo_va_list ...interface{}) *py.Object // Add a non-resampled image to the figure. // // The image is attached to the lower or upper left corner depending on // *origin*. // // Parameters // ---------- // X // // The image data. This is an array of one of the following shapes: // // - (M, N): an image with scalar data. Color-mapping is controlled // by *cmap*, *norm*, *vmin*, and *vmax*. // - (M, N, 3): an image with RGB values (0-1 float or 0-255 int). // - (M, N, 4): an image with RGBA values (0-1 float or 0-255 int), // i.e. including transparency. // // xo, yo : int // // The *x*/*y* image offset in pixels. // // alpha : None or float // // The alpha blending value. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *X* is RGB(A). // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *X* is RGB(A). // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // This parameter is ignored if *X* is RGB(A). // // origin : {'upper', 'lower'}, default: :rc:`image.origin` // // Indicates where the [0, 0] index of the array is in the upper left // or lower left corner of the axes. // // resize : bool // // If *True*, resize the figure to match the given image size. // // Returns // ------- // `matplotlib.image.FigureImage` // // Other Parameters // ---------------- // **kwargs // // Additional kwargs are `.Artist` kwargs passed on to `.FigureImage`. // // Notes // ----- // figimage complements the Axes image (`~matplotlib.axes.Axes.imshow`) // which will be resampled to fit the current Axes. If you want // a resampled image to fill the entire figure, you can define an // `~matplotlib.axes.Axes` with extent [0, 0, 1, 1]. // // Examples // -------- // :: // // f = plt.figure() // nx = int(f.get_figwidth() * f.dpi) // ny = int(f.get_figheight() * f.dpi) // data = np.random.random((ny, nx)) // f.figimage(data) // plt.show() // //go:linkname Figimage py.figimage func Figimage(X *py.Object, xo *py.Object, yo *py.Object, alpha *py.Object, norm *py.Object, cmap *py.Object, vmin *py.Object, vmax *py.Object, origin *py.Object, resize *py.Object) *py.Object // Add text to figure. // // Parameters // ---------- // x, y : float // // The position to place the text. By default, this is in figure // coordinates, floats in [0, 1]. The coordinate system can be changed // using the *transform* keyword. // // s : str // // The text string. // // fontdict : dict, optional // // A dictionary to override the default text properties. If not given, // the defaults are determined by :rc:`font.*`. Properties passed as // *kwargs* override the corresponding ones given in *fontdict*. // // Returns // ------- // `~.text.Text` // // Other Parameters // ---------------- // **kwargs : `~matplotlib.text.Text` properties // // Other miscellaneous text parameters. // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased: bool // backgroundcolor: color // bbox: dict with properties for `.patches.FancyBboxPatch` // clip_box: unknown // clip_on: unknown // clip_path: unknown // color or c: color // figure: `~matplotlib.figure.Figure` // fontfamily or family or fontname: {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: {'left', 'center', 'right'} // in_layout: bool // label: object // linespacing: float (multiple of font size) // math_fontfamily: str // mouseover: bool // multialignment or ma: {'left', 'right', 'center'} // parse_math: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // position: (float, float) // rasterized: bool // 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: `~matplotlib.transforms.Transform` // transform_rotates_text: bool // url: str // usetex: bool or None // verticalalignment or va: {'baseline', 'bottom', 'center', 'center_baseline', 'top'} // visible: bool // wrap: bool // x: float // y: float // zorder: float // // See Also // -------- // .Axes.text // .pyplot.text // //go:linkname Figtext py.figtext func Figtext(x *py.Object, y *py.Object, s *py.Object, fontdict *py.Object) *py.Object // Get the current Axes. // // If there is currently no Axes on this Figure, a new one is created // using `.Figure.add_subplot`. (To test whether there is currently an // Axes on a Figure, check whether “figure.axes“ is empty. To test // whether there is currently a Figure on the pyplot figure stack, check // whether `.pyplot.get_fignums()` is empty.) // //go:linkname Gca py.gca func Gca() *py.Object // Get the current colorable artist. // // Specifically, returns the current `.ScalarMappable` instance (`.Image` // created by `imshow` or `figimage`, `.Collection` created by `pcolor` or // `scatter`, etc.), or *None* if no such instance has been defined. // // The current image is an attribute of the current Axes, or the nearest // earlier Axes in the current figure that contains an image. // // Notes // ----- // Historically, the only colorable artists were images; hence the name // “gci“ (get current image). // //go:linkname Gci py.gci func Gci() *py.Object // Blocking call to interact with a figure. // // Wait until the user clicks *n* times on the figure, and return the // coordinates of each click in a list. // // There are three possible interactions: // // - Add a point. // - Remove the most recently added point. // - Stop the interaction and return the points added so far. // // The actions are assigned to mouse buttons via the arguments // *mouse_add*, *mouse_pop* and *mouse_stop*. // // Parameters // ---------- // n : int, default: 1 // // Number of mouse clicks to accumulate. If negative, accumulate // clicks until the input is terminated manually. // // timeout : float, default: 30 seconds // // Number of seconds to wait before timing out. If zero or negative // will never time out. // // show_clicks : bool, default: True // // If True, show a red cross at the location of each click. // // mouse_add : `.MouseButton` or None, default: `.MouseButton.LEFT` // // Mouse button used to add points. // // mouse_pop : `.MouseButton` or None, default: `.MouseButton.RIGHT` // // Mouse button used to remove the most recently added point. // // mouse_stop : `.MouseButton` or None, default: `.MouseButton.MIDDLE` // // Mouse button used to stop input. // // Returns // ------- // list of tuples // // A list of the clicked (x, y) coordinates. // // Notes // ----- // The keyboard can also be used to select points in case your mouse // does not have one or more of the buttons. The delete and backspace // keys act like right-clicking (i.e., remove last point), the enter key // terminates input and any other key (not already used by the window // manager) selects a point. // //go:linkname Ginput py.ginput func Ginput(n *py.Object, timeout *py.Object, showClicks *py.Object, mouseAdd *py.Object, mousePop *py.Object, mouseStop *py.Object) *py.Object // Adjust the subplot layout parameters. // // Unset parameters are left unmodified; initial values are given by // :rc:`figure.subplot.[name]`. // // Parameters // ---------- // left : float, optional // // The position of the left edge of the subplots, // as a fraction of the figure width. // // right : float, optional // // The position of the right edge of the subplots, // as a fraction of the figure width. // // bottom : float, optional // // The position of the bottom edge of the subplots, // as a fraction of the figure height. // // top : float, optional // // The position of the top edge of the subplots, // as a fraction of the figure height. // // wspace : float, optional // // The width of the padding between subplots, // as a fraction of the average Axes width. // // hspace : float, optional // // The height of the padding between subplots, // as a fraction of the average Axes height. // //go:linkname SubplotsAdjust py.subplots_adjust func SubplotsAdjust(left *py.Object, bottom *py.Object, right *py.Object, top *py.Object, wspace *py.Object, hspace *py.Object) *py.Object // Add a centered suptitle to the figure. // // Parameters // ---------- // t : str // // The suptitle text. // // x : float, default: 0.5 // // The x location of the text in figure coordinates. // // y : float, default: 0.98 // // The y location of the text in figure coordinates. // // horizontalalignment, ha : {'center', 'left', 'right'}, default: center // // The horizontal alignment of the text relative to (*x*, *y*). // // verticalalignment, va : {'top', 'center', 'bottom', 'baseline'}, default: top // // The vertical alignment of the text relative to (*x*, *y*). // // fontsize, size : default: :rc:`figure.titlesize` // // The font size of the text. See `.Text.set_size` for possible // values. // // fontweight, weight : default: :rc:`figure.titleweight` // // The font weight of the text. See `.Text.set_weight` for possible // values. // // Returns // ------- // text // // The `.Text` instance of the suptitle. // // Other Parameters // ---------------- // fontproperties : None or dict, optional // // A dict of font properties. If *fontproperties* is given the // default values for font size and weight are taken from the // `.FontProperties` defaults. :rc:`figure.titlesize` and // :rc:`figure.titleweight` are ignored in this case. // // **kwargs // // Additional kwargs are `matplotlib.text.Text` properties. // //go:linkname Suptitle py.suptitle func Suptitle(t *py.Object) *py.Object // Adjust the padding between and around subplots. // // To exclude an artist on the Axes from the bounding box calculation // that determines the subplot parameters (i.e. legend, or annotation), // set “a.set_in_layout(False)“ for that artist. // // Parameters // ---------- // pad : float, default: 1.08 // // Padding between the figure edge and the edges of subplots, // as a fraction of the font size. // // h_pad, w_pad : float, default: *pad* // // Padding (height/width) between edges of adjacent subplots, // as a fraction of the font size. // // rect : tuple (left, bottom, right, top), default: (0, 0, 1, 1) // // A rectangle in normalized figure coordinates into which the whole // subplots area (including labels) will fit. // // See Also // -------- // .Figure.set_layout_engine // .pyplot.tight_layout // //go:linkname TightLayout py.tight_layout func TightLayout() *py.Object // Blocking call to interact with the figure. // // Wait for user input and return True if a key was pressed, False if a // mouse button was pressed and None if no input was given within // *timeout* seconds. Negative values deactivate *timeout*. // //go:linkname Waitforbuttonpress py.waitforbuttonpress func Waitforbuttonpress(timeout *py.Object) *py.Object // Plot the autocorrelation of *x*. // // Parameters // ---------- // x : array-like // // detrend : callable, default: `.mlab.detrend_none` (no detrending) // // A detrending function applied to *x*. It must have the // signature :: // // detrend(x: np.ndarray) -> np.ndarray // // normed : bool, default: True // // If ``True``, input vectors are normalised to unit length. // // usevlines : bool, default: True // // Determines the plot style. // // If ``True``, vertical lines are plotted from 0 to the acorr value // using `.Axes.vlines`. Additionally, a horizontal line is plotted // at y=0 using `.Axes.axhline`. // // If ``False``, markers are plotted at the acorr values using // `.Axes.plot`. // // maxlags : int, default: 10 // // Number of lags to show. If ``None``, will return all // ``2 * len(x) - 1`` lags. // // Returns // ------- // lags : array (length “2*maxlags+1“) // // The lag vector. // // c : array (length “2*maxlags+1“) // // The auto correlation vector. // // line : `.LineCollection` or `.Line2D` // // `.Artist` added to the Axes of the correlation: // // - `.LineCollection` if *usevlines* is True. // - `.Line2D` if *usevlines* is False. // // b : `~matplotlib.lines.Line2D` or None // // Horizontal line at 0 if *usevlines* is True // None *usevlines* is False. // // Other Parameters // ---------------- // linestyle : `~matplotlib.lines.Line2D` property, optional // // The linestyle for plotting the data points. // Only used if *usevlines* is ``False``. // // marker : str, default: 'o' // // The marker for plotting the data points. // Only used if *usevlines* is ``False``. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Additional parameters are passed to `.Axes.vlines` and // `.Axes.axhline` if *usevlines* is ``True``; otherwise they are // passed to `.Axes.plot`. // // Notes // ----- // The cross correlation is performed with `numpy.correlate` with // “mode = "full"“. // //go:linkname Acorr py.acorr func Acorr(x *py.Object) *py.Object // Plot the angle spectrum. // // Compute the angle spectrum (wrapped phase spectrum) of *x*. // Data is padded to a length of *pad_to* and the windowing function // *window* is applied to the signal. // // Parameters // ---------- // x : 1-D array or sequence // // Array or sequence containing the data. // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. While not increasing the actual resolution of the spectrum (the // minimum distance between resolvable peaks), this can give more points in // the plot, allowing for more detail. This corresponds to the *n* parameter // in the call to `~numpy.fft.fft`. The default is None, which sets *pad_to* // equal to the length of the input signal (i.e. no padding). // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // Returns // ------- // spectrum : 1-D array // // The values for the angle spectrum in radians (real valued). // // freqs : 1-D array // // The frequencies corresponding to the elements in *spectrum*. // // line : `~matplotlib.lines.Line2D` // // The line created by this function. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // magnitude_spectrum // // Plots the magnitudes of the corresponding frequencies. // // phase_spectrum // // Plots the unwrapped version of this function. // // specgram // // Can plot the angle spectrum of segments within the signal in a // colormap. // //go:linkname AngleSpectrum py.angle_spectrum func AngleSpectrum(x *py.Object, Fs *py.Object, Fc *py.Object, window *py.Object, padTo *py.Object, sides *py.Object) *py.Object // Annotate the point *xy* with text *text*. // // In the simplest form, the text is placed at *xy*. // // Optionally, the text can be displayed in another position *xytext*. // An arrow pointing from the text to the annotated point *xy* can then // be added by defining *arrowprops*. // // Parameters // ---------- // text : str // // The text of the annotation. // // xy : (float, float) // // The point *(x, y)* to annotate. The coordinate system is determined // by *xycoords*. // // xytext : (float, float), default: *xy* // // The position *(x, y)* to place the text at. The coordinate system // is determined by *textcoords*. // // xycoords : single or two-tuple of str or `.Artist` or `.Transform` or callable, default: 'data' // // The coordinate system that *xy* is given in. The following types // of values are supported: // // - One of the following strings: // // ==================== ============================================ // Value Description // ==================== ============================================ // 'figure points' Points from the lower left of the figure // 'figure pixels' Pixels from the lower left of the figure // 'figure fraction' Fraction of figure from lower left // 'subfigure points' Points from the lower left of the subfigure // 'subfigure pixels' Pixels from the lower left of the subfigure // 'subfigure fraction' Fraction of subfigure from lower left // 'axes points' Points from lower left corner of axes // 'axes pixels' Pixels from lower left corner of axes // 'axes fraction' Fraction of axes from lower left // 'data' Use the coordinate system of the object // being annotated (default) // 'polar' *(theta, r)* if not native 'data' // coordinates // ==================== ============================================ // // Note that 'subfigure pixels' and 'figure pixels' are the same // for the parent figure, so users who want code that is usable in // a subfigure can use 'subfigure pixels'. // // - An `.Artist`: *xy* is interpreted as a fraction of the artist's // `~matplotlib.transforms.Bbox`. E.g. *(0, 0)* would be the lower // left corner of the bounding box and *(0.5, 1)* would be the // center top of the bounding box. // // - A `.Transform` to transform *xy* to screen coordinates. // // - A function with one of the following signatures:: // // def transform(renderer) -> Bbox // def transform(renderer) -> Transform // // where *renderer* is a `.RendererBase` subclass. // // The result of the function is interpreted like the `.Artist` and // `.Transform` cases above. // // - A tuple *(xcoords, ycoords)* specifying separate coordinate // systems for *x* and *y*. *xcoords* and *ycoords* must each be // of one of the above described types. // // See :ref:`plotting-guide-annotation` for more details. // // textcoords : single or two-tuple of str or `.Artist` or `.Transform` or callable, default: value of *xycoords* // // The coordinate system that *xytext* is given in. // // All *xycoords* values are valid as well as the following strings: // // ================= ================================================= // Value Description // ================= ================================================= // 'offset points' Offset, in points, from the *xy* value // 'offset pixels' Offset, in pixels, from the *xy* value // 'offset fontsize' Offset, relative to fontsize, from the *xy* value // ================= ================================================= // // arrowprops : dict, optional // // The properties used to draw a `.FancyArrowPatch` arrow between the // positions *xy* and *xytext*. Defaults to None, i.e. no arrow is // drawn. // // For historical reasons there are two different ways to specify // arrows, "simple" and "fancy": // // **Simple arrow:** // // If *arrowprops* does not contain the key 'arrowstyle' the // allowed keys are: // // ========== ================================================= // Key Description // ========== ================================================= // width The width of the arrow in points // headwidth The width of the base of the arrow head in points // headlength The length of the arrow head in points // shrink Fraction of total length to shrink from both ends // ? Any `.FancyArrowPatch` property // ========== ================================================= // // The arrow is attached to the edge of the text box, the exact // position (corners or centers) depending on where it's pointing to. // // **Fancy arrow:** // // This is used if 'arrowstyle' is provided in the *arrowprops*. // // Valid keys are the following `.FancyArrowPatch` parameters: // // =============== =================================== // Key Description // =============== =================================== // arrowstyle The arrow style // connectionstyle The connection style // relpos See below; default is (0.5, 0.5) // patchA Default is bounding box of the text // patchB Default is None // shrinkA Default is 2 points // shrinkB Default is 2 points // mutation_scale Default is text size (in points) // mutation_aspect Default is 1 // ? Any `.FancyArrowPatch` property // =============== =================================== // // The exact starting point position of the arrow is defined by // *relpos*. It's a tuple of relative coordinates of the text box, // where (0, 0) is the lower left corner and (1, 1) is the upper // right corner. Values <0 and >1 are supported and specify points // outside the text box. By default (0.5, 0.5), so the starting point // is centered in the text box. // // annotation_clip : bool or None, default: None // // Whether to clip (i.e. not draw) the annotation when the annotation // point *xy* is outside the axes area. // // - If *True*, the annotation will be clipped when *xy* is outside // the axes. // - If *False*, the annotation will always be drawn. // - If *None*, the annotation will be clipped when *xy* is outside // the axes and *xycoords* is 'data'. // // **kwargs // // Additional kwargs are passed to `.Text`. // // Returns // ------- // `.Annotation` // // See Also // -------- // :ref:`plotting-guide-annotation` // //go:linkname Annotate py.annotate func Annotate(text *py.Object, xy *py.Object, xytext *py.Object, xycoords *py.Object, textcoords *py.Object, arrowprops *py.Object, annotationClip *py.Object) *py.Object // Add an arrow to the Axes. // // This draws an arrow from “(x, y)“ to “(x+dx, y+dy)“. // // Parameters // ---------- // x, y : float // // The x and y coordinates of the arrow base. // // dx, dy : float // // The length of the arrow along x and y direction. // // width : float, default: 0.001 // // Width of full arrow tail. // // length_includes_head : bool, default: False // // True if head is to be counted in calculating the length. // // head_width : float or None, default: 3*width // // Total width of the full arrow head. // // head_length : float or None, default: 1.5*head_width // // Length of arrow head. // // shape : {'full', 'left', 'right'}, default: 'full' // // Draw the left-half, right-half, or full arrow. // // overhang : float, default: 0 // // Fraction that the arrow is swept back (0 overhang means // triangular shape). Can be negative or greater than one. // // head_starts_at_zero : bool, default: False // // If True, the head starts being drawn at coordinate 0 // instead of ending at coordinate 0. // // **kwargs // // `.Patch` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: unknown // animated: bool // antialiased or aa: bool or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color: color // edgecolor or ec: color or None // facecolor or fc: color or None // figure: `~matplotlib.figure.Figure` // fill: bool // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // linewidth or lw: float or None // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // zorder: float // // Returns // ------- // `.FancyArrow` // // The created `.FancyArrow` object. // // Notes // ----- // The resulting arrow is affected by the Axes aspect ratio and limits. // This may produce an arrow whose head is not square with its stem. To // create an arrow whose head is square with its stem, // use :meth:`annotate` for example: // // >>> ax.annotate("", xy=(0.5, 0.5), xytext=(0, 0), // ... arrowprops=dict(arrowstyle="->")) // //go:linkname Arrow py.arrow func Arrow(x *py.Object, y *py.Object, dx *py.Object, dy *py.Object) *py.Object // Autoscale the axis view to the data (toggle). // // Convenience method for simple axis view autoscaling. // It turns autoscaling on or off, and then, // if autoscaling for either axis is on, it performs // the autoscaling on the specified axis or Axes. // // Parameters // ---------- // enable : bool or None, default: True // // True turns autoscaling on, False turns it off. // None leaves the autoscaling state unchanged. // // axis : {'both', 'x', 'y'}, default: 'both' // // The axis on which to operate. (For 3D Axes, *axis* can also be set // to 'z', and 'both' refers to all three axes.) // // tight : bool or None, default: None // // If True, first set the margins to zero. Then, this argument is // forwarded to `~.axes.Axes.autoscale_view` (regardless of // its value); see the description of its behavior there. // //go:linkname Autoscale py.autoscale func Autoscale(enable *py.Object, axis *py.Object, tight *py.Object) *py.Object // Add a horizontal line across the Axes. // // Parameters // ---------- // y : float, default: 0 // // y position in data coordinates of the horizontal line. // // xmin : float, default: 0 // // Should be between 0 and 1, 0 being the far left of the plot, 1 the // far right of the plot. // // xmax : float, default: 1 // // Should be between 0 and 1, 0 being the far left of the plot, 1 the // far right of the plot. // // Returns // ------- // `~matplotlib.lines.Line2D` // // Other Parameters // ---------------- // **kwargs // // Valid keyword arguments are `.Line2D` properties, except for // 'transform': // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // hlines : Add horizontal lines in data coordinates. // axhspan : Add a horizontal span (rectangle) across the axis. // axline : Add a line with an arbitrary slope. // // Examples // -------- // * draw a thick red hline at 'y' = 0 that spans the xrange:: // // >>> axhline(linewidth=4, color='r') // // * draw a default hline at 'y' = 1 that spans the xrange:: // // >>> axhline(y=1) // // - draw a default hline at 'y' = .5 that spans the middle half of // the xrange:: // // >>> axhline(y=.5, xmin=0.25, xmax=0.75) // //go:linkname Axhline py.axhline func Axhline(y *py.Object, xmin *py.Object, xmax *py.Object) *py.Object // Add a horizontal span (rectangle) across the Axes. // // The rectangle spans from *ymin* to *ymax* vertically, and, by default, // the whole x-axis horizontally. The x-span can be set using *xmin* // (default: 0) and *xmax* (default: 1) which are in axis units; e.g. // “xmin = 0.5“ always refers to the middle of the x-axis regardless of // the limits set by `~.Axes.set_xlim`. // // Parameters // ---------- // ymin : float // // Lower y-coordinate of the span, in data units. // // ymax : float // // Upper y-coordinate of the span, in data units. // // xmin : float, default: 0 // // Lower x-coordinate of the span, in x-axis (0-1) units. // // xmax : float, default: 1 // // Upper x-coordinate of the span, in x-axis (0-1) units. // // Returns // ------- // `~matplotlib.patches.Polygon` // // Horizontal span (rectangle) from (xmin, ymin) to (xmax, ymax). // // Other Parameters // ---------------- // **kwargs : `~matplotlib.patches.Polygon` properties // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // closed: bool // color: color // edgecolor or ec: color or None // facecolor or fc: color or None // figure: `~matplotlib.figure.Figure` // fill: bool // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // linewidth or lw: float or None // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // xy: (N, 2) array-like // zorder: float // // See Also // -------- // axvspan : Add a vertical span across the Axes. // //go:linkname Axhspan py.axhspan func Axhspan(ymin *py.Object, ymax *py.Object, xmin *py.Object, xmax *py.Object) *py.Object // Convenience method to get or set some axis properties. // // Call signatures:: // // xmin, xmax, ymin, ymax = axis() // xmin, xmax, ymin, ymax = axis([xmin, xmax, ymin, ymax]) // xmin, xmax, ymin, ymax = axis(option) // xmin, xmax, ymin, ymax = axis(**kwargs) // // Parameters // ---------- // xmin, xmax, ymin, ymax : float, optional // // The axis limits to be set. This can also be achieved using :: // // ax.set(xlim=(xmin, xmax), ylim=(ymin, ymax)) // // option : bool or str // // If a bool, turns axis lines and labels on or off. If a string, // possible values are: // // ================ =========================================================== // Value Description // ================ =========================================================== // 'off' or `False` Hide all axis decorations, i.e. axis labels, spines, // tick marks, tick labels, and grid lines. // This is the same as `~.Axes.set_axis_off()`. // 'on' or `True` Do not hide all axis decorations, i.e. axis labels, spines, // tick marks, tick labels, and grid lines. // This is the same as `~.Axes.set_axis_on()`. // 'equal' Set equal scaling (i.e., make circles circular) by // changing the axis limits. This is the same as // ``ax.set_aspect('equal', adjustable='datalim')``. // Explicit data limits may not be respected in this case. // 'scaled' Set equal scaling (i.e., make circles circular) by // changing dimensions of the plot box. This is the same as // ``ax.set_aspect('equal', adjustable='box', anchor='C')``. // Additionally, further autoscaling will be disabled. // 'tight' Set limits just large enough to show all data, then // disable further autoscaling. // 'auto' Automatic scaling (fill plot box with data). // 'image' 'scaled' with axis limits equal to data limits. // 'square' Square plot; similar to 'scaled', but initially forcing // ``xmax-xmin == ymax-ymin``. // ================ =========================================================== // // emit : bool, default: True // // Whether observers are notified of the axis limit change. // This option is passed on to `~.Axes.set_xlim` and // `~.Axes.set_ylim`. // // Returns // ------- // xmin, xmax, ymin, ymax : float // // The axis limits. // // See Also // -------- // matplotlib.axes.Axes.set_xlim // matplotlib.axes.Axes.set_ylim // // Notes // ----- // For 3D axes, this method additionally takes *zmin*, *zmax* as // parameters and likewise returns them. // //go:linkname Axis py.axis func Axis(arg *py.Object) *py.Object // Add an infinitely long straight line. // // The line can be defined either by two points *xy1* and *xy2*, or // by one point *xy1* and a *slope*. // // This draws a straight line "on the screen", regardless of the x and y // scales, and is thus also suitable for drawing exponential decays in // semilog plots, power laws in loglog plots, etc. However, *slope* // should only be used with linear scales; It has no clear meaning for // all other scales, and thus the behavior is undefined. Please specify // the line using the points *xy1*, *xy2* for non-linear scales. // // The *transform* keyword argument only applies to the points *xy1*, // *xy2*. The *slope* (if given) is always in data coordinates. This can // be used e.g. with “ax.transAxes“ for drawing grid lines with a fixed // slope. // // Parameters // ---------- // xy1, xy2 : (float, float) // // Points for the line to pass through. // Either *xy2* or *slope* has to be given. // // slope : float, optional // // The slope of the line. Either *xy2* or *slope* has to be given. // // Returns // ------- // `.AxLine` // // Other Parameters // ---------------- // **kwargs // // Valid kwargs are `.Line2D` properties // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // axhline : for horizontal lines // axvline : for vertical lines // // Examples // -------- // Draw a thick red line passing through (0, 0) and (1, 1):: // // >>> axline((0, 0), (1, 1), linewidth=4, color='r') // //go:linkname Axline py.axline func Axline(xy1 *py.Object, xy2 *py.Object) *py.Object // Add a vertical line across the Axes. // // Parameters // ---------- // x : float, default: 0 // // x position in data coordinates of the vertical line. // // ymin : float, default: 0 // // Should be between 0 and 1, 0 being the bottom of the plot, 1 the // top of the plot. // // ymax : float, default: 1 // // Should be between 0 and 1, 0 being the bottom of the plot, 1 the // top of the plot. // // Returns // ------- // `~matplotlib.lines.Line2D` // // Other Parameters // ---------------- // **kwargs // // Valid keyword arguments are `.Line2D` properties, except for // 'transform': // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // vlines : Add vertical lines in data coordinates. // axvspan : Add a vertical span (rectangle) across the axis. // axline : Add a line with an arbitrary slope. // // Examples // -------- // * draw a thick red vline at *x* = 0 that spans the yrange:: // // >>> axvline(linewidth=4, color='r') // // * draw a default vline at *x* = 1 that spans the yrange:: // // >>> axvline(x=1) // // - draw a default vline at *x* = .5 that spans the middle half of // the yrange:: // // >>> axvline(x=.5, ymin=0.25, ymax=0.75) // //go:linkname Axvline py.axvline func Axvline(x *py.Object, ymin *py.Object, ymax *py.Object) *py.Object // Add a vertical span (rectangle) across the Axes. // // The rectangle spans from *xmin* to *xmax* horizontally, and, by // default, the whole y-axis vertically. The y-span can be set using // *ymin* (default: 0) and *ymax* (default: 1) which are in axis units; // e.g. “ymin = 0.5“ always refers to the middle of the y-axis // regardless of the limits set by `~.Axes.set_ylim`. // // Parameters // ---------- // xmin : float // // Lower x-coordinate of the span, in data units. // // xmax : float // // Upper x-coordinate of the span, in data units. // // ymin : float, default: 0 // // Lower y-coordinate of the span, in y-axis units (0-1). // // ymax : float, default: 1 // // Upper y-coordinate of the span, in y-axis units (0-1). // // Returns // ------- // `~matplotlib.patches.Polygon` // // Vertical span (rectangle) from (xmin, ymin) to (xmax, ymax). // // Other Parameters // ---------------- // **kwargs : `~matplotlib.patches.Polygon` properties // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // closed: bool // color: color // edgecolor or ec: color or None // facecolor or fc: color or None // figure: `~matplotlib.figure.Figure` // fill: bool // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // linewidth or lw: float or None // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // xy: (N, 2) array-like // zorder: float // // See Also // -------- // axhspan : Add a horizontal span across the Axes. // // Examples // -------- // Draw a vertical, green, translucent rectangle from x = 1.25 to // x = 1.55 that spans the yrange of the Axes. // // >>> axvspan(1.25, 1.55, facecolor='g', alpha=0.5) // //go:linkname Axvspan py.axvspan func Axvspan(xmin *py.Object, xmax *py.Object, ymin *py.Object, ymax *py.Object) *py.Object // Make a bar plot. // // The bars are positioned at *x* with the given *align*\ment. Their // dimensions are given by *height* and *width*. The vertical baseline // is *bottom* (default 0). // // Many parameters can take either a single value applying to all bars // or a sequence of values, one for each bar. // // Parameters // ---------- // x : float or array-like // // The x coordinates of the bars. See also *align* for the // alignment of the bars to the coordinates. // // height : float or array-like // // The height(s) of the bars. // // Note that if *bottom* has units (e.g. datetime), *height* should be in // units that are a difference from the value of *bottom* (e.g. timedelta). // // width : float or array-like, default: 0.8 // // The width(s) of the bars. // // Note that if *x* has units (e.g. datetime), then *width* should be in // units that are a difference (e.g. timedelta) around the *x* values. // // bottom : float or array-like, default: 0 // // The y coordinate(s) of the bottom side(s) of the bars. // // Note that if *bottom* has units, then the y-axis will get a Locator and // Formatter appropriate for the units (e.g. dates, or categorical). // // align : {'center', 'edge'}, default: 'center' // // Alignment of the bars to the *x* coordinates: // // - 'center': Center the base on the *x* positions. // - 'edge': Align the left edges of the bars with the *x* positions. // // To align the bars on the right edge pass a negative *width* and // ``align='edge'``. // // Returns // ------- // `.BarContainer` // // Container with all the bars and optionally errorbars. // // Other Parameters // ---------------- // color : color or list of color, optional // // The colors of the bar faces. // // edgecolor : color or list of color, optional // // The colors of the bar edges. // // linewidth : float or array-like, optional // // Width of the bar edge(s). If 0, don't draw edges. // // tick_label : str or list of str, optional // // The tick labels of the bars. // Default: None (Use default numeric labels.) // // label : str or list of str, optional // // A single label is attached to the resulting `.BarContainer` as a // label for the whole dataset. // If a list is provided, it must be the same length as *x* and // labels the individual bars. Repeated labels are not de-duplicated // and will cause repeated label entries, so this is best used when // bars also differ in style (e.g., by passing a list to *color*.) // // xerr, yerr : float or array-like of shape(N,) or shape(2, N), optional // // If not *None*, add horizontal / vertical errorbars to the bar tips. // The values are +/- sizes relative to the data: // // - scalar: symmetric +/- values for all bars // - shape(N,): symmetric +/- values for each bar // - shape(2, N): Separate - and + values for each bar. First row // contains the lower errors, the second row contains the upper // errors. // - *None*: No errorbar. (Default) // // See :doc:`/gallery/statistics/errorbar_features` for an example on // the usage of *xerr* and *yerr*. // // ecolor : color or list of color, default: 'black' // // The line color of the errorbars. // // capsize : float, default: :rc:`errorbar.capsize` // // The length of the error bar caps in points. // // error_kw : dict, optional // // Dictionary of keyword arguments to be passed to the // `~.Axes.errorbar` method. Values of *ecolor* or *capsize* defined // here take precedence over the independent keyword arguments. // // log : bool, default: False // // If *True*, set the y-axis to be log scale. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs : `.Rectangle` properties // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // angle: unknown // animated: bool // antialiased or aa: bool or None // bounds: (left, bottom, width, height) // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color: color // edgecolor or ec: color or None // facecolor or fc: color or None // figure: `~matplotlib.figure.Figure` // fill: bool // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // height: unknown // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // linewidth or lw: float or None // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // width: unknown // x: unknown // xy: (float, float) // y: unknown // zorder: float // // See Also // -------- // barh : Plot a horizontal bar plot. // // Notes // ----- // Stacked bars can be achieved by passing individual *bottom* values per // bar. See :doc:`/gallery/lines_bars_and_markers/bar_stacked`. // //go:linkname Bar py.bar func Bar(x *py.Object, height *py.Object, width *py.Object, bottom *py.Object) *py.Object // Plot a 2D field of barbs. // // Call signature:: // // barbs([X, Y], U, V, [C], **kwargs) // // Where *X*, *Y* define the barb locations, *U*, *V* define the barb // directions, and *C* optionally sets the color. // // All arguments may be 1D or 2D. *U*, *V*, *C* may be masked arrays, but masked // *X*, *Y* are not supported at present. // // Barbs are traditionally used in meteorology as a way to plot the speed // and direction of wind observations, but can technically be used to // plot any two dimensional vector quantity. As opposed to arrows, which // give vector magnitude by the length of the arrow, the barbs give more // quantitative information about the vector magnitude by putting slanted // lines or a triangle for various increments in magnitude, as show // schematically below:: // // : /\ \ // : / \ \ // : / \ \ \ // : / \ \ \ // : ------------------------------ // // The largest increment is given by a triangle (or "flag"). After those // come full lines (barbs). The smallest increment is a half line. There // is only, of course, ever at most 1 half line. If the magnitude is // small and only needs a single half-line and no full lines or // triangles, the half-line is offset from the end of the barb so that it // can be easily distinguished from barbs with a single full line. The // magnitude for the barb shown above would nominally be 65, using the // standard increments of 50, 10, and 5. // // See also https://en.wikipedia.org/wiki/Wind_barb. // // Parameters // ---------- // X, Y : 1D or 2D array-like, optional // // The x and y coordinates of the barb locations. See *pivot* for how the // barbs are drawn to the x, y positions. // // If not given, they will be generated as a uniform integer meshgrid based // on the dimensions of *U* and *V*. // // If *X* and *Y* are 1D but *U*, *V* are 2D, *X*, *Y* are expanded to 2D // using ``X, Y = np.meshgrid(X, Y)``. In this case ``len(X)`` and ``len(Y)`` // must match the column and row dimensions of *U* and *V*. // // U, V : 1D or 2D array-like // // The x and y components of the barb shaft. // // C : 1D or 2D array-like, optional // // Numeric data that defines the barb colors by colormapping via *norm* and // *cmap*. // // This does not support explicit colors. If you want to set colors directly, // use *barbcolor* instead. // // length : float, default: 7 // // Length of the barb in points; the other parts of the barb // are scaled against this. // // pivot : {'tip', 'middle'} or float, default: 'tip' // // The part of the arrow that is anchored to the *X*, *Y* grid. The barb // rotates about this point. This can also be a number, which shifts the // start of the barb that many points away from grid point. // // barbcolor : color or color sequence // // The color of all parts of the barb except for the flags. This parameter // is analogous to the *edgecolor* parameter for polygons, which can be used // instead. However this parameter will override facecolor. // // flagcolor : color or color sequence // // The color of any flags on the barb. This parameter is analogous to the // *facecolor* parameter for polygons, which can be used instead. However, // this parameter will override facecolor. If this is not set (and *C* has // not either) then *flagcolor* will be set to match *barbcolor* so that the // barb has a uniform color. If *C* has been set, *flagcolor* has no effect. // // sizes : dict, optional // // A dictionary of coefficients specifying the ratio of a given // feature to the length of the barb. Only those values one wishes to // override need to be included. These features include: // // - 'spacing' - space between features (flags, full/half barbs) // - 'height' - height (distance from shaft to top) of a flag or full barb // - 'width' - width of a flag, twice the width of a full barb // - 'emptybarb' - radius of the circle used for low magnitudes // // fill_empty : bool, default: False // // Whether the empty barbs (circles) that are drawn should be filled with // the flag color. If they are not filled, the center is transparent. // // rounding : bool, default: True // // Whether the vector magnitude should be rounded when allocating barb // components. If True, the magnitude is rounded to the nearest multiple // of the half-barb increment. If False, the magnitude is simply truncated // to the next lowest multiple. // // barb_increments : dict, optional // // A dictionary of increments specifying values to associate with // different parts of the barb. Only those values one wishes to // override need to be included. // // - 'half' - half barbs (Default is 5) // - 'full' - full barbs (Default is 10) // - 'flag' - flags (default is 50) // // flip_barb : bool or array-like of bool, default: False // // Whether the lines and flags should point opposite to normal. // Normal behavior is for the barbs and lines to point right (comes from wind // barbs having these features point towards low pressure in the Northern // Hemisphere). // // A single value is applied to all barbs. Individual barbs can be flipped by // passing a bool array of the same size as *U* and *V*. // // Returns // ------- // barbs : `~matplotlib.quiver.Barbs` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs // // The barbs can further be customized using `.PolyCollection` keyword // arguments: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // //go:linkname Barbs py.barbs func Barbs(__llgo_va_list ...interface{}) *py.Object // Make a horizontal bar plot. // // The bars are positioned at *y* with the given *align*\ment. Their // dimensions are given by *width* and *height*. The horizontal baseline // is *left* (default 0). // // Many parameters can take either a single value applying to all bars // or a sequence of values, one for each bar. // // Parameters // ---------- // y : float or array-like // // The y coordinates of the bars. See also *align* for the // alignment of the bars to the coordinates. // // width : float or array-like // // The width(s) of the bars. // // Note that if *left* has units (e.g. datetime), *width* should be in // units that are a difference from the value of *left* (e.g. timedelta). // // height : float or array-like, default: 0.8 // // The heights of the bars. // // Note that if *y* has units (e.g. datetime), then *height* should be in // units that are a difference (e.g. timedelta) around the *y* values. // // left : float or array-like, default: 0 // // The x coordinates of the left side(s) of the bars. // // Note that if *left* has units, then the x-axis will get a Locator and // Formatter appropriate for the units (e.g. dates, or categorical). // // align : {'center', 'edge'}, default: 'center' // // Alignment of the base to the *y* coordinates*: // // - 'center': Center the bars on the *y* positions. // - 'edge': Align the bottom edges of the bars with the *y* // positions. // // To align the bars on the top edge pass a negative *height* and // ``align='edge'``. // // Returns // ------- // `.BarContainer` // // Container with all the bars and optionally errorbars. // // Other Parameters // ---------------- // color : color or list of color, optional // // The colors of the bar faces. // // edgecolor : color or list of color, optional // // The colors of the bar edges. // // linewidth : float or array-like, optional // // Width of the bar edge(s). If 0, don't draw edges. // // tick_label : str or list of str, optional // // The tick labels of the bars. // Default: None (Use default numeric labels.) // // label : str or list of str, optional // // A single label is attached to the resulting `.BarContainer` as a // label for the whole dataset. // If a list is provided, it must be the same length as *y* and // labels the individual bars. Repeated labels are not de-duplicated // and will cause repeated label entries, so this is best used when // bars also differ in style (e.g., by passing a list to *color*.) // // xerr, yerr : float or array-like of shape(N,) or shape(2, N), optional // // If not *None*, add horizontal / vertical errorbars to the bar tips. // The values are +/- sizes relative to the data: // // - scalar: symmetric +/- values for all bars // - shape(N,): symmetric +/- values for each bar // - shape(2, N): Separate - and + values for each bar. First row // contains the lower errors, the second row contains the upper // errors. // - *None*: No errorbar. (default) // // See :doc:`/gallery/statistics/errorbar_features` for an example on // the usage of *xerr* and *yerr*. // // ecolor : color or list of color, default: 'black' // // The line color of the errorbars. // // capsize : float, default: :rc:`errorbar.capsize` // // The length of the error bar caps in points. // // error_kw : dict, optional // // Dictionary of keyword arguments to be passed to the // `~.Axes.errorbar` method. Values of *ecolor* or *capsize* defined // here take precedence over the independent keyword arguments. // // log : bool, default: False // // If ``True``, set the x-axis to be log scale. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs : `.Rectangle` properties // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // angle: unknown // animated: bool // antialiased or aa: bool or None // bounds: (left, bottom, width, height) // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color: color // edgecolor or ec: color or None // facecolor or fc: color or None // figure: `~matplotlib.figure.Figure` // fill: bool // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // height: unknown // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or ls: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} // linewidth or lw: float or None // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // width: unknown // x: unknown // xy: (float, float) // y: unknown // zorder: float // // See Also // -------- // bar : Plot a vertical bar plot. // // Notes // ----- // Stacked bars can be achieved by passing individual *left* values per // bar. See // :doc:`/gallery/lines_bars_and_markers/horizontal_barchart_distribution`. // //go:linkname Barh py.barh func Barh(y *py.Object, width *py.Object, height *py.Object, left *py.Object) *py.Object // Label a bar plot. // // Adds labels to bars in the given `.BarContainer`. // You may need to adjust the axis limits to fit the labels. // // Parameters // ---------- // container : `.BarContainer` // // Container with all the bars and optionally errorbars, likely // returned from `.bar` or `.barh`. // // labels : array-like, optional // // A list of label texts, that should be displayed. If not given, the // label texts will be the data values formatted with *fmt*. // // fmt : str or callable, default: '%g' // // An unnamed %-style or {}-style format string for the label or a // function to call with the value as the first argument. // When *fmt* is a string and can be interpreted in both formats, // %-style takes precedence over {}-style. // // .. versionadded:: 3.7 // Support for {}-style format string and callables. // // label_type : {'edge', 'center'}, default: 'edge' // // The label type. Possible values: // // - 'edge': label placed at the end-point of the bar segment, and the // value displayed will be the position of that end-point. // - 'center': label placed in the center of the bar segment, and the // value displayed will be the length of that segment. // (useful for stacked bars, i.e., // :doc:`/gallery/lines_bars_and_markers/bar_label_demo`) // // padding : float, default: 0 // // Distance of label from the end of the bar, in points. // // **kwargs // // Any remaining keyword arguments are passed through to // `.Axes.annotate`. The alignment parameters ( // *horizontalalignment* / *ha*, *verticalalignment* / *va*) are // not supported because the labels are automatically aligned to // the bars. // // Returns // ------- // list of `.Annotation` // // A list of `.Annotation` instances for the labels. // //go:linkname BarLabel py.bar_label func BarLabel(container *py.Object, labels *py.Object) *py.Object // Draw a box and whisker plot. // // The box extends from the first quartile (Q1) to the third // quartile (Q3) of the data, with a line at the median. // The whiskers extend from the box to the farthest data point // lying within 1.5x the inter-quartile range (IQR) from the box. // Flier points are those past the end of the whiskers. // See https://en.wikipedia.org/wiki/Box_plot for reference. // // .. code-block:: none // // Q1-1.5IQR Q1 median Q3 Q3+1.5IQR // |-----:-----| // o |--------| : |--------| o o // |-----:-----| // flier <-----------> fliers // IQR // // Parameters // ---------- // x : Array or a sequence of vectors. // // The input data. If a 2D array, a boxplot is drawn for each column // in *x*. If a sequence of 1D arrays, a boxplot is drawn for each // array in *x*. // // notch : bool, default: False // // Whether to draw a notched boxplot (`True`), or a rectangular // boxplot (`False`). The notches represent the confidence interval // (CI) around the median. The documentation for *bootstrap* // describes how the locations of the notches are computed by // default, but their locations may also be overridden by setting the // *conf_intervals* parameter. // // .. note:: // // In cases where the values of the CI are less than the // lower quartile or greater than the upper quartile, the // notches will extend beyond the box, giving it a // distinctive "flipped" appearance. This is expected // behavior and consistent with other statistical // visualization packages. // // sym : str, optional // // The default symbol for flier points. An empty string ('') hides // the fliers. If `None`, then the fliers default to 'b+'. More // control is provided by the *flierprops* parameter. // // vert : bool, default: True // // If `True`, draws vertical boxes. // If `False`, draw horizontal boxes. // // whis : float or (float, float), default: 1.5 // // The position of the whiskers. // // If a float, the lower whisker is at the lowest datum above // ``Q1 - whis*(Q3-Q1)``, and the upper whisker at the highest datum // below ``Q3 + whis*(Q3-Q1)``, where Q1 and Q3 are the first and // third quartiles. The default value of ``whis = 1.5`` corresponds // to Tukey's original definition of boxplots. // // If a pair of floats, they indicate the percentiles at which to // draw the whiskers (e.g., (5, 95)). In particular, setting this to // (0, 100) results in whiskers covering the whole range of the data. // // In the edge case where ``Q1 == Q3``, *whis* is automatically set // to (0, 100) (cover the whole range of the data) if *autorange* is // True. // // Beyond the whiskers, data are considered outliers and are plotted // as individual points. // // bootstrap : int, optional // // Specifies whether to bootstrap the confidence intervals // around the median for notched boxplots. If *bootstrap* is // None, no bootstrapping is performed, and notches are // calculated using a Gaussian-based asymptotic approximation // (see McGill, R., Tukey, J.W., and Larsen, W.A., 1978, and // Kendall and Stuart, 1967). Otherwise, bootstrap specifies // the number of times to bootstrap the median to determine its // 95% confidence intervals. Values between 1000 and 10000 are // recommended. // // usermedians : 1D array-like, optional // // A 1D array-like of length ``len(x)``. Each entry that is not // `None` forces the value of the median for the corresponding // dataset. For entries that are `None`, the medians are computed // by Matplotlib as normal. // // conf_intervals : array-like, optional // // A 2D array-like of shape ``(len(x), 2)``. Each entry that is not // None forces the location of the corresponding notch (which is // only drawn if *notch* is `True`). For entries that are `None`, // the notches are computed by the method specified by the other // parameters (e.g., *bootstrap*). // // positions : array-like, optional // // The positions of the boxes. The ticks and limits are // automatically set to match the positions. Defaults to // ``range(1, N+1)`` where N is the number of boxes to be drawn. // // widths : float or array-like // // The widths of the boxes. The default is 0.5, or ``0.15*(distance // between extreme positions)``, if that is smaller. // // patch_artist : bool, default: False // // If `False` produces boxes with the Line2D artist. Otherwise, // boxes are drawn with Patch artists. // // labels : sequence, optional // // Labels for each dataset (one per dataset). // // manage_ticks : bool, default: True // // If True, the tick locations and labels will be adjusted to match // the boxplot positions. // // autorange : bool, default: False // // When `True` and the data are distributed such that the 25th and // 75th percentiles are equal, *whis* is set to (0, 100) such // that the whisker ends are at the minimum and maximum of the data. // // meanline : bool, default: False // // If `True` (and *showmeans* is `True`), will try to render the // mean as a line spanning the full width of the box according to // *meanprops* (see below). Not recommended if *shownotches* is also // True. Otherwise, means will be shown as points. // // zorder : float, default: “Line2D.zorder = 2“ // // The zorder of the boxplot. // // Returns // ------- // dict // // A dictionary mapping each component of the boxplot to a list // of the `.Line2D` instances created. That dictionary has the // following keys (assuming vertical boxplots): // // - ``boxes``: the main body of the boxplot showing the // quartiles and the median's confidence intervals if // enabled. // // - ``medians``: horizontal lines at the median of each box. // // - ``whiskers``: the vertical lines extending to the most // extreme, non-outlier data points. // // - ``caps``: the horizontal lines at the ends of the // whiskers. // // - ``fliers``: points representing data that extend beyond // the whiskers (fliers). // // - ``means``: points or lines representing the means. // // Other Parameters // ---------------- // showcaps : bool, default: True // // Show the caps on the ends of whiskers. // // showbox : bool, default: True // // Show the central box. // // showfliers : bool, default: True // // Show the outliers beyond the caps. // // showmeans : bool, default: False // // Show the arithmetic means. // // capprops : dict, default: None // // The style of the caps. // // capwidths : float or array, default: None // // The widths of the caps. // // boxprops : dict, default: None // // The style of the box. // // whiskerprops : dict, default: None // // The style of the whiskers. // // flierprops : dict, default: None // // The style of the fliers. // // medianprops : dict, default: None // // The style of the median. // // meanprops : dict, default: None // // The style of the mean. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // See Also // -------- // violinplot : Draw an estimate of the probability density function. // //go:linkname Boxplot py.boxplot func Boxplot(x *py.Object, notch *py.Object, sym *py.Object, vert *py.Object, whis *py.Object, positions *py.Object, widths *py.Object, patchArtist *py.Object, bootstrap *py.Object, usermedians *py.Object, confIntervals *py.Object, meanline *py.Object, showmeans *py.Object, showcaps *py.Object, showbox *py.Object, showfliers *py.Object, boxprops *py.Object, labels *py.Object, flierprops *py.Object, medianprops *py.Object, meanprops *py.Object, capprops *py.Object, whiskerprops *py.Object, manageTicks *py.Object, autorange *py.Object, zorder *py.Object, capwidths *py.Object) *py.Object // Plot a horizontal sequence of rectangles. // // A rectangle is drawn for each element of *xranges*. All rectangles // have the same vertical position and size defined by *yrange*. // // Parameters // ---------- // xranges : sequence of tuples (*xmin*, *xwidth*) // // The x-positions and extents of the rectangles. For each tuple // (*xmin*, *xwidth*) a rectangle is drawn from *xmin* to *xmin* + // *xwidth*. // // yrange : (*ymin*, *yheight*) // // The y-position and extent for all the rectangles. // // Returns // ------- // `~.collections.PolyCollection` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs : `.PolyCollection` properties // // Each *kwarg* can be either a single argument applying to all // rectangles, e.g.:: // // facecolors='black' // // or a sequence of arguments over which is cycled, e.g.:: // // facecolors=('black', 'blue') // // would create interleaving black and blue rectangles. // // Supported keywords: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // //go:linkname BrokenBarh py.broken_barh func BrokenBarh(xranges *py.Object, yrange *py.Object) *py.Object // Label a contour plot. // // Adds labels to line contours in given `.ContourSet`. // // Parameters // ---------- // CS : `.ContourSet` instance // // Line contours to label. // // levels : array-like, optional // // A list of level values, that should be labeled. The list must be // a subset of ``CS.levels``. If not given, all levels are labeled. // // **kwargs // // All other parameters are documented in `~.ContourLabeler.clabel`. // //go:linkname Clabel py.clabel func Clabel(CS *py.Object, levels *py.Object) *py.Object // Plot the coherence between *x* and *y*. // // Coherence is the normalized cross spectral density: // // .. math:: // // C_{xy} = \frac{|P_{xy}|^2}{P_{xx}P_{yy}} // // Parameters // ---------- // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. This can be different from *NFFT*, which specifies the number // of data points used. While not increasing the actual resolution of the // spectrum (the minimum distance between resolvable peaks), this can give // more points in the plot, allowing for more detail. This corresponds to // the *n* parameter in the call to `~numpy.fft.fft`. The default is None, // which sets *pad_to* equal to *NFFT* // // NFFT : int, default: 256 // // The number of data points used in each block for the FFT. A power 2 is // most efficient. This should *NOT* be used to get zero padding, or the // scaling of the result will be incorrect; use *pad_to* for this instead. // // detrend : {'none', 'mean', 'linear'} or callable, default: 'none' // // The function applied to each segment before fft-ing, designed to remove // the mean or linear trend. Unlike in MATLAB, where the *detrend* parameter // is a vector, in Matplotlib it is a function. The :mod:`~matplotlib.mlab` // module defines `.detrend_none`, `.detrend_mean`, and `.detrend_linear`, // but you can use a custom function as well. You can also use a string to // choose one of the functions: 'none' calls `.detrend_none`. 'mean' calls // `.detrend_mean`. 'linear' calls `.detrend_linear`. // // scale_by_freq : bool, default: True // // Whether the resulting density values should be scaled by the scaling // frequency, which gives density in units of 1/Hz. This allows for // integration over the returned frequency values. The default is True for // MATLAB compatibility. // // noverlap : int, default: 0 (no overlap) // // The number of points of overlap between blocks. // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // Returns // ------- // Cxy : 1-D array // // The coherence vector. // // freqs : 1-D array // // The frequencies for the elements in *Cxy*. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // References // ---------- // Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, // John Wiley & Sons (1986) // //go:linkname Cohere py.cohere func Cohere(x *py.Object, y *py.Object, NFFT *py.Object, Fs *py.Object, Fc *py.Object, detrend *py.Object, window *py.Object, noverlap *py.Object, padTo *py.Object, sides *py.Object, scaleByFreq *py.Object) *py.Object // Plot contour lines. // // Call signature:: // // contour([X, Y,] Z, [levels], **kwargs) // // `.contour` and `.contourf` draw contour lines and filled contours, // respectively. Except as noted, function signatures and return values // are the same for both versions. // // Parameters // ---------- // X, Y : array-like, optional // // The coordinates of the values in *Z*. // // *X* and *Y* must both be 2D with the same shape as *Z* (e.g. // created via `numpy.meshgrid`), or they must both be 1-D such // that ``len(X) == N`` is the number of columns in *Z* and // ``len(Y) == M`` is the number of rows in *Z*. // // *X* and *Y* must both be ordered monotonically. // // If not given, they are assumed to be integer indices, i.e. // ``X = range(N)``, ``Y = range(M)``. // // Z : (M, N) array-like // // The height values over which the contour is drawn. Color-mapping is // controlled by *cmap*, *norm*, *vmin*, and *vmax*. // // levels : int or array-like, optional // // Determines the number and positions of the contour lines / regions. // // If an int *n*, use `~matplotlib.ticker.MaxNLocator`, which tries // to automatically choose no more than *n+1* "nice" contour levels // between minimum and maximum numeric values of *Z*. // // If array-like, draw contour lines at the specified levels. // The values must be in increasing order. // // Returns // ------- // `~.contour.QuadContourSet` // // Other Parameters // ---------------- // corner_mask : bool, default: :rc:`contour.corner_mask` // // Enable/disable corner masking, which only has an effect if *Z* is // a masked array. If ``False``, any quad touching a masked point is // masked out. If ``True``, only the triangular corners of quads // nearest those points are always masked out, other triangular // corners comprising three unmasked points are contoured as usual. // // colors : color string or sequence of colors, optional // // The colors of the levels, i.e. the lines for `.contour` and the // areas for `.contourf`. // // The sequence is cycled for the levels in ascending order. If the // sequence is shorter than the number of levels, it's repeated. // // As a shortcut, single color strings may be used in place of // one-element lists, i.e. ``'red'`` instead of ``['red']`` to color // all levels with the same color. This shortcut does only work for // color strings, not for other ways of specifying colors. // // By default (value *None*), the colormap specified by *cmap* // will be used. // // alpha : float, default: 1 // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *colors* is set. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *colors* is set. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // If *vmin* or *vmax* are not given, the default color scaling is based on // *levels*. // // This parameter is ignored if *colors* is set. // // origin : {*None*, 'upper', 'lower', 'image'}, default: None // // Determines the orientation and exact position of *Z* by specifying // the position of ``Z[0, 0]``. This is only relevant, if *X*, *Y* // are not given. // // - *None*: ``Z[0, 0]`` is at X=0, Y=0 in the lower left corner. // - 'lower': ``Z[0, 0]`` is at X=0.5, Y=0.5 in the lower left corner. // - 'upper': ``Z[0, 0]`` is at X=N+0.5, Y=0.5 in the upper left // corner. // - 'image': Use the value from :rc:`image.origin`. // // extent : (x0, x1, y0, y1), optional // // If *origin* is not *None*, then *extent* is interpreted as in // `.imshow`: it gives the outer pixel boundaries. In this case, the // position of Z[0, 0] is the center of the pixel, not a corner. If // *origin* is *None*, then (*x0*, *y0*) is the position of Z[0, 0], // and (*x1*, *y1*) is the position of Z[-1, -1]. // // This argument is ignored if *X* and *Y* are specified in the call // to contour. // // locator : ticker.Locator subclass, optional // // The locator is used to determine the contour levels if they // are not given explicitly via *levels*. // Defaults to `~.ticker.MaxNLocator`. // // extend : {'neither', 'both', 'min', 'max'}, default: 'neither' // // Determines the ``contourf``-coloring of values that are outside the // *levels* range. // // If 'neither', values outside the *levels* range are not colored. // If 'min', 'max' or 'both', color the values below, above or below // and above the *levels* range. // // Values below ``min(levels)`` and above ``max(levels)`` are mapped // to the under/over values of the `.Colormap`. Note that most // colormaps do not have dedicated colors for these by default, so // that the over and under values are the edge values of the colormap. // You may want to set these values explicitly using // `.Colormap.set_under` and `.Colormap.set_over`. // // .. note:: // // An existing `.QuadContourSet` does not get notified if // properties of its colormap are changed. Therefore, an explicit // call `.QuadContourSet.changed()` is needed after modifying the // colormap. The explicit call can be left out, if a colorbar is // assigned to the `.QuadContourSet` because it internally calls // `.QuadContourSet.changed()`. // // Example:: // // x = np.arange(1, 10) // y = x.reshape(-1, 1) // h = x * y // // cs = plt.contourf(h, levels=[10, 30, 50], // colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') // cs.cmap.set_over('red') // cs.cmap.set_under('blue') // cs.changed() // // xunits, yunits : registered units, optional // // Override axis units by specifying an instance of a // :class:`matplotlib.units.ConversionInterface`. // // antialiased : bool, optional // // Enable antialiasing, overriding the defaults. For // filled contours, the default is *False*. For line contours, // it is taken from :rc:`lines.antialiased`. // // nchunk : int >= 0, optional // // If 0, no subdivision of the domain. Specify a positive integer to // divide the domain into subdomains of *nchunk* by *nchunk* quads. // Chunking reduces the maximum length of polygons generated by the // contouring algorithm which reduces the rendering workload passed // on to the backend and also requires slightly less RAM. It can // however introduce rendering artifacts at chunk boundaries depending // on the backend, the *antialiased* flag and value of *alpha*. // // linewidths : float or array-like, default: :rc:`contour.linewidth` // // *Only applies to* `.contour`. // // The line width of the contour lines. // // If a number, all levels will be plotted with this linewidth. // // If a sequence, the levels in ascending order will be plotted with // the linewidths in the order specified. // // If None, this falls back to :rc:`lines.linewidth`. // // linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional // // *Only applies to* `.contour`. // // If *linestyles* is *None*, the default is 'solid' unless the lines are // monochrome. In that case, negative contours will instead take their // linestyle from the *negative_linestyles* argument. // // *linestyles* can also be an iterable of the above strings specifying a set // of linestyles to be used. If this iterable is shorter than the number of // contour levels it will be repeated as necessary. // // negative_linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional // // *Only applies to* `.contour`. // // If *linestyles* is *None* and the lines are monochrome, this argument // specifies the line style for negative contours. // // If *negative_linestyles* is *None*, the default is taken from // :rc:`contour.negative_linestyles`. // // *negative_linestyles* can also be an iterable of the above strings // specifying a set of linestyles to be used. If this iterable is shorter than // the number of contour levels it will be repeated as necessary. // // hatches : list[str], optional // // *Only applies to* `.contourf`. // // A list of cross hatch patterns to use on the filled areas. // If None, no hatching will be added to the contour. // Hatching is supported in the PostScript, PDF, SVG and Agg // backends only. // // algorithm : {'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional // // Which contouring algorithm to use to calculate the contour lines and // polygons. The algorithms are implemented in // `ContourPy `_, consult the // `ContourPy documentation `_ for // further information. // // The default is taken from :rc:`contour.algorithm`. // // clip_path : `~matplotlib.patches.Patch` or `.Path` or `.TransformedPath` // // Set the clip path. See `~matplotlib.artist.Artist.set_clip_path`. // // .. versionadded:: 3.8 // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // Notes // ----- // // 1. `.contourf` differs from the MATLAB version in that it does not draw // the polygon edges. To draw edges, add line contours with calls to // `.contour`. // // 2. `.contourf` fills intervals that are closed at the top; that is, for // boundaries *z1* and *z2*, the filled region is:: // // z1 < Z <= z2 // // except for the lowest interval, which is closed on both sides (i.e. // it includes the lowest value). // // 3. `.contour` and `.contourf` use a `marching squares // `_ algorithm to // compute contour locations. More information can be found in // `ContourPy documentation `_. // //go:linkname Contour py.contour func Contour(__llgo_va_list ...interface{}) *py.Object // Plot filled contours. // // Call signature:: // // contourf([X, Y,] Z, [levels], **kwargs) // // `.contour` and `.contourf` draw contour lines and filled contours, // respectively. Except as noted, function signatures and return values // are the same for both versions. // // Parameters // ---------- // X, Y : array-like, optional // // The coordinates of the values in *Z*. // // *X* and *Y* must both be 2D with the same shape as *Z* (e.g. // created via `numpy.meshgrid`), or they must both be 1-D such // that ``len(X) == N`` is the number of columns in *Z* and // ``len(Y) == M`` is the number of rows in *Z*. // // *X* and *Y* must both be ordered monotonically. // // If not given, they are assumed to be integer indices, i.e. // ``X = range(N)``, ``Y = range(M)``. // // Z : (M, N) array-like // // The height values over which the contour is drawn. Color-mapping is // controlled by *cmap*, *norm*, *vmin*, and *vmax*. // // levels : int or array-like, optional // // Determines the number and positions of the contour lines / regions. // // If an int *n*, use `~matplotlib.ticker.MaxNLocator`, which tries // to automatically choose no more than *n+1* "nice" contour levels // between minimum and maximum numeric values of *Z*. // // If array-like, draw contour lines at the specified levels. // The values must be in increasing order. // // Returns // ------- // `~.contour.QuadContourSet` // // Other Parameters // ---------------- // corner_mask : bool, default: :rc:`contour.corner_mask` // // Enable/disable corner masking, which only has an effect if *Z* is // a masked array. If ``False``, any quad touching a masked point is // masked out. If ``True``, only the triangular corners of quads // nearest those points are always masked out, other triangular // corners comprising three unmasked points are contoured as usual. // // colors : color string or sequence of colors, optional // // The colors of the levels, i.e. the lines for `.contour` and the // areas for `.contourf`. // // The sequence is cycled for the levels in ascending order. If the // sequence is shorter than the number of levels, it's repeated. // // As a shortcut, single color strings may be used in place of // one-element lists, i.e. ``'red'`` instead of ``['red']`` to color // all levels with the same color. This shortcut does only work for // color strings, not for other ways of specifying colors. // // By default (value *None*), the colormap specified by *cmap* // will be used. // // alpha : float, default: 1 // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *colors* is set. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *colors* is set. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // If *vmin* or *vmax* are not given, the default color scaling is based on // *levels*. // // This parameter is ignored if *colors* is set. // // origin : {*None*, 'upper', 'lower', 'image'}, default: None // // Determines the orientation and exact position of *Z* by specifying // the position of ``Z[0, 0]``. This is only relevant, if *X*, *Y* // are not given. // // - *None*: ``Z[0, 0]`` is at X=0, Y=0 in the lower left corner. // - 'lower': ``Z[0, 0]`` is at X=0.5, Y=0.5 in the lower left corner. // - 'upper': ``Z[0, 0]`` is at X=N+0.5, Y=0.5 in the upper left // corner. // - 'image': Use the value from :rc:`image.origin`. // // extent : (x0, x1, y0, y1), optional // // If *origin* is not *None*, then *extent* is interpreted as in // `.imshow`: it gives the outer pixel boundaries. In this case, the // position of Z[0, 0] is the center of the pixel, not a corner. If // *origin* is *None*, then (*x0*, *y0*) is the position of Z[0, 0], // and (*x1*, *y1*) is the position of Z[-1, -1]. // // This argument is ignored if *X* and *Y* are specified in the call // to contour. // // locator : ticker.Locator subclass, optional // // The locator is used to determine the contour levels if they // are not given explicitly via *levels*. // Defaults to `~.ticker.MaxNLocator`. // // extend : {'neither', 'both', 'min', 'max'}, default: 'neither' // // Determines the ``contourf``-coloring of values that are outside the // *levels* range. // // If 'neither', values outside the *levels* range are not colored. // If 'min', 'max' or 'both', color the values below, above or below // and above the *levels* range. // // Values below ``min(levels)`` and above ``max(levels)`` are mapped // to the under/over values of the `.Colormap`. Note that most // colormaps do not have dedicated colors for these by default, so // that the over and under values are the edge values of the colormap. // You may want to set these values explicitly using // `.Colormap.set_under` and `.Colormap.set_over`. // // .. note:: // // An existing `.QuadContourSet` does not get notified if // properties of its colormap are changed. Therefore, an explicit // call `.QuadContourSet.changed()` is needed after modifying the // colormap. The explicit call can be left out, if a colorbar is // assigned to the `.QuadContourSet` because it internally calls // `.QuadContourSet.changed()`. // // Example:: // // x = np.arange(1, 10) // y = x.reshape(-1, 1) // h = x * y // // cs = plt.contourf(h, levels=[10, 30, 50], // colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') // cs.cmap.set_over('red') // cs.cmap.set_under('blue') // cs.changed() // // xunits, yunits : registered units, optional // // Override axis units by specifying an instance of a // :class:`matplotlib.units.ConversionInterface`. // // antialiased : bool, optional // // Enable antialiasing, overriding the defaults. For // filled contours, the default is *False*. For line contours, // it is taken from :rc:`lines.antialiased`. // // nchunk : int >= 0, optional // // If 0, no subdivision of the domain. Specify a positive integer to // divide the domain into subdomains of *nchunk* by *nchunk* quads. // Chunking reduces the maximum length of polygons generated by the // contouring algorithm which reduces the rendering workload passed // on to the backend and also requires slightly less RAM. It can // however introduce rendering artifacts at chunk boundaries depending // on the backend, the *antialiased* flag and value of *alpha*. // // linewidths : float or array-like, default: :rc:`contour.linewidth` // // *Only applies to* `.contour`. // // The line width of the contour lines. // // If a number, all levels will be plotted with this linewidth. // // If a sequence, the levels in ascending order will be plotted with // the linewidths in the order specified. // // If None, this falls back to :rc:`lines.linewidth`. // // linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional // // *Only applies to* `.contour`. // // If *linestyles* is *None*, the default is 'solid' unless the lines are // monochrome. In that case, negative contours will instead take their // linestyle from the *negative_linestyles* argument. // // *linestyles* can also be an iterable of the above strings specifying a set // of linestyles to be used. If this iterable is shorter than the number of // contour levels it will be repeated as necessary. // // negative_linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional // // *Only applies to* `.contour`. // // If *linestyles* is *None* and the lines are monochrome, this argument // specifies the line style for negative contours. // // If *negative_linestyles* is *None*, the default is taken from // :rc:`contour.negative_linestyles`. // // *negative_linestyles* can also be an iterable of the above strings // specifying a set of linestyles to be used. If this iterable is shorter than // the number of contour levels it will be repeated as necessary. // // hatches : list[str], optional // // *Only applies to* `.contourf`. // // A list of cross hatch patterns to use on the filled areas. // If None, no hatching will be added to the contour. // Hatching is supported in the PostScript, PDF, SVG and Agg // backends only. // // algorithm : {'mpl2005', 'mpl2014', 'serial', 'threaded'}, optional // // Which contouring algorithm to use to calculate the contour lines and // polygons. The algorithms are implemented in // `ContourPy `_, consult the // `ContourPy documentation `_ for // further information. // // The default is taken from :rc:`contour.algorithm`. // // clip_path : `~matplotlib.patches.Patch` or `.Path` or `.TransformedPath` // // Set the clip path. See `~matplotlib.artist.Artist.set_clip_path`. // // .. versionadded:: 3.8 // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // Notes // ----- // // 1. `.contourf` differs from the MATLAB version in that it does not draw // the polygon edges. To draw edges, add line contours with calls to // `.contour`. // // 2. `.contourf` fills intervals that are closed at the top; that is, for // boundaries *z1* and *z2*, the filled region is:: // // z1 < Z <= z2 // // except for the lowest interval, which is closed on both sides (i.e. // it includes the lowest value). // // 3. `.contour` and `.contourf` use a `marching squares // `_ algorithm to // compute contour locations. More information can be found in // `ContourPy documentation `_. // //go:linkname Contourf py.contourf func Contourf(__llgo_va_list ...interface{}) *py.Object // Plot the cross-spectral density. // // The cross spectral density :math:`P_{xy}` by Welch's average // periodogram method. The vectors *x* and *y* are divided into // *NFFT* length segments. Each segment is detrended by function // *detrend* and windowed by function *window*. *noverlap* gives // the length of the overlap between segments. The product of // the direct FFTs of *x* and *y* are averaged over each segment // to compute :math:`P_{xy}`, with a scaling to correct for power // loss due to windowing. // // If len(*x*) < *NFFT* or len(*y*) < *NFFT*, they will be zero // padded to *NFFT*. // // Parameters // ---------- // x, y : 1-D arrays or sequences // // Arrays or sequences containing the data. // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. This can be different from *NFFT*, which specifies the number // of data points used. While not increasing the actual resolution of the // spectrum (the minimum distance between resolvable peaks), this can give // more points in the plot, allowing for more detail. This corresponds to // the *n* parameter in the call to `~numpy.fft.fft`. The default is None, // which sets *pad_to* equal to *NFFT* // // NFFT : int, default: 256 // // The number of data points used in each block for the FFT. A power 2 is // most efficient. This should *NOT* be used to get zero padding, or the // scaling of the result will be incorrect; use *pad_to* for this instead. // // detrend : {'none', 'mean', 'linear'} or callable, default: 'none' // // The function applied to each segment before fft-ing, designed to remove // the mean or linear trend. Unlike in MATLAB, where the *detrend* parameter // is a vector, in Matplotlib it is a function. The :mod:`~matplotlib.mlab` // module defines `.detrend_none`, `.detrend_mean`, and `.detrend_linear`, // but you can use a custom function as well. You can also use a string to // choose one of the functions: 'none' calls `.detrend_none`. 'mean' calls // `.detrend_mean`. 'linear' calls `.detrend_linear`. // // scale_by_freq : bool, default: True // // Whether the resulting density values should be scaled by the scaling // frequency, which gives density in units of 1/Hz. This allows for // integration over the returned frequency values. The default is True for // MATLAB compatibility. // // noverlap : int, default: 0 (no overlap) // // The number of points of overlap between segments. // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // return_line : bool, default: False // // Whether to include the line object plotted in the returned values. // // Returns // ------- // Pxy : 1-D array // // The values for the cross spectrum :math:`P_{xy}` before scaling // (complex valued). // // freqs : 1-D array // // The frequencies corresponding to the elements in *Pxy*. // // line : `~matplotlib.lines.Line2D` // // The line created by this function. // Only returned if *return_line* is True. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // psd : is equivalent to setting “y = x“. // // Notes // ----- // For plotting, the power is plotted as // :math:`10 \log_{10}(P_{xy})` for decibels, though :math:`P_{xy}` itself // is returned. // // References // ---------- // Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, // John Wiley & Sons (1986) // //go:linkname Csd py.csd func Csd(x *py.Object, y *py.Object, NFFT *py.Object, Fs *py.Object, Fc *py.Object, detrend *py.Object, window *py.Object, noverlap *py.Object, padTo *py.Object, sides *py.Object, scaleByFreq *py.Object, returnLine *py.Object) *py.Object // Compute and plot the empirical cumulative distribution function of *x*. // // .. versionadded:: 3.8 // // Parameters // ---------- // x : 1d array-like // // The input data. Infinite entries are kept (and move the relevant // end of the ecdf from 0/1), but NaNs and masked values are errors. // // weights : 1d array-like or None, default: None // // The weights of the entries; must have the same shape as *x*. // Weights corresponding to NaN data points are dropped, and then the // remaining weights are normalized to sum to 1. If unset, all // entries have the same weight. // // complementary : bool, default: False // // Whether to plot a cumulative distribution function, which increases // from 0 to 1 (the default), or a complementary cumulative // distribution function, which decreases from 1 to 0. // // orientation : {"vertical", "horizontal"}, default: "vertical" // // Whether the entries are plotted along the x-axis ("vertical", the // default) or the y-axis ("horizontal"). This parameter takes the // same values as in `~.Axes.hist`. // // compress : bool, default: False // // Whether multiple entries with the same values are grouped together // (with a summed weight) before plotting. This is mainly useful if // *x* contains many identical data points, to decrease the rendering // complexity of the plot. If *x* contains no duplicate points, this // has no effect and just uses some time and memory. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *weights* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // Returns // ------- // `.Line2D` // // Notes // ----- // The ecdf plot can be thought of as a cumulative histogram with one bin // per data entry; i.e. it reports on the entire dataset without any // arbitrary binning. // // If *x* contains NaNs or masked entries, either remove them first from // the array (if they should not taken into account), or replace them by // -inf or +inf (if they should be sorted at the beginning or the end of // the array). // //go:linkname Ecdf py.ecdf func Ecdf(x *py.Object, weights *py.Object) *py.Object // Plot y versus x as lines and/or markers with attached errorbars. // // *x*, *y* define the data locations, *xerr*, *yerr* define the errorbar // sizes. By default, this draws the data markers/lines as well as the // errorbars. Use fmt='none' to draw errorbars without any data markers. // // .. versionadded:: 3.7 // // Caps and error lines are drawn in polar coordinates on polar plots. // // Parameters // ---------- // x, y : float or array-like // // The data positions. // // xerr, yerr : float or array-like, shape(N,) or shape(2, N), optional // // The errorbar sizes: // // - scalar: Symmetric +/- values for all data points. // - shape(N,): Symmetric +/-values for each data point. // - shape(2, N): Separate - and + values for each bar. First row // contains the lower errors, the second row contains the upper // errors. // - *None*: No errorbar. // // All values must be >= 0. // // See :doc:`/gallery/statistics/errorbar_features` // for an example on the usage of ``xerr`` and ``yerr``. // // fmt : str, default: ” // // The format for the data points / data lines. See `.plot` for // details. // // Use 'none' (case-insensitive) to plot errorbars without any data // markers. // // ecolor : color, default: None // // The color of the errorbar lines. If None, use the color of the // line connecting the markers. // // elinewidth : float, default: None // // The linewidth of the errorbar lines. If None, the linewidth of // the current style is used. // // capsize : float, default: :rc:`errorbar.capsize` // // The length of the error bar caps in points. // // capthick : float, default: None // // An alias to the keyword argument *markeredgewidth* (a.k.a. *mew*). // This setting is a more sensible name for the property that // controls the thickness of the error bar cap in points. For // backwards compatibility, if *mew* or *markeredgewidth* are given, // then they will over-ride *capthick*. This may change in future // releases. // // barsabove : bool, default: False // // If True, will plot the errorbars above the plot // symbols. Default is below. // // lolims, uplims, xlolims, xuplims : bool or array-like, default: False // // These arguments can be used to indicate that a value gives only // upper/lower limits. In that case a caret symbol is used to // indicate this. *lims*-arguments may be scalars, or array-likes of // the same length as *xerr* and *yerr*. To use limits with inverted // axes, `~.Axes.set_xlim` or `~.Axes.set_ylim` must be called before // :meth:`errorbar`. Note the tricky parameter names: setting e.g. // *lolims* to True means that the y-value is a *lower* limit of the // True value, so, only an *upward*-pointing arrow will be drawn! // // errorevery : int or (int, int), default: 1 // // draws error bars on a subset of the data. *errorevery* =N draws // error bars on the points (x[::N], y[::N]). // *errorevery* =(start, N) draws error bars on the points // (x[start::N], y[start::N]). e.g. errorevery=(6, 3) // adds error bars to the data at (x[6], x[9], x[12], x[15], ...). // Used to avoid overlapping error bars when two series share x-axis // values. // // Returns // ------- // `.ErrorbarContainer` // // The container contains: // // - plotline: `~matplotlib.lines.Line2D` instance of x, y plot markers // and/or line. // - caplines: A tuple of `~matplotlib.lines.Line2D` instances of the error // bar caps. // - barlinecols: A tuple of `.LineCollection` with the horizontal and // vertical error ranges. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y*, *xerr*, *yerr* // // **kwargs // // All other keyword arguments are passed on to the `~.Axes.plot` call // drawing the markers. For example, this code makes big red squares // with thick green edges:: // // x, y, yerr = rand(3, 10) // errorbar(x, y, yerr, marker='s', mfc='red', // mec='green', ms=20, mew=4) // // where *mfc*, *mec*, *ms* and *mew* are aliases for the longer // property names, *markerfacecolor*, *markeredgecolor*, *markersize* // and *markeredgewidth*. // // Valid kwargs for the marker properties are: // // - *dashes* // - *dash_capstyle* // - *dash_joinstyle* // - *drawstyle* // - *fillstyle* // - *linestyle* // - *marker* // - *markeredgecolor* // - *markeredgewidth* // - *markerfacecolor* // - *markerfacecoloralt* // - *markersize* // - *markevery* // - *solid_capstyle* // - *solid_joinstyle* // // Refer to the corresponding `.Line2D` property for more details: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // //go:linkname Errorbar py.errorbar func Errorbar(x *py.Object, y *py.Object, yerr *py.Object, xerr *py.Object, fmt *py.Object, ecolor *py.Object, elinewidth *py.Object, capsize *py.Object, barsabove *py.Object, lolims *py.Object, uplims *py.Object, xlolims *py.Object, xuplims *py.Object, errorevery *py.Object, capthick *py.Object) *py.Object // Plot identical parallel lines at the given positions. // // This type of plot is commonly used in neuroscience for representing // neural events, where it is usually called a spike raster, dot raster, // or raster plot. // // However, it is useful in any situation where you wish to show the // timing or position of multiple sets of discrete events, such as the // arrival times of people to a business on each day of the month or the // date of hurricanes each year of the last century. // // Parameters // ---------- // positions : array-like or list of array-like // // A 1D array-like defines the positions of one sequence of events. // // Multiple groups of events may be passed as a list of array-likes. // Each group can be styled independently by passing lists of values // to *lineoffsets*, *linelengths*, *linewidths*, *colors* and // *linestyles*. // // Note that *positions* can be a 2D array, but in practice different // event groups usually have different counts so that one will use a // list of different-length arrays rather than a 2D array. // // orientation : {'horizontal', 'vertical'}, default: 'horizontal' // // The direction of the event sequence: // // - 'horizontal': the events are arranged horizontally. // The indicator lines are vertical. // - 'vertical': the events are arranged vertically. // The indicator lines are horizontal. // // lineoffsets : float or array-like, default: 1 // // The offset of the center of the lines from the origin, in the // direction orthogonal to *orientation*. // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // linelengths : float or array-like, default: 1 // // The total height of the lines (i.e. the lines stretches from // ``lineoffset - linelength/2`` to ``lineoffset + linelength/2``). // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // linewidths : float or array-like, default: :rc:`lines.linewidth` // // The line width(s) of the event lines, in points. // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // colors : color or list of colors, default: :rc:`lines.color` // // The color(s) of the event lines. // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // alpha : float or array-like, default: 1 // // The alpha blending value(s), between 0 (transparent) and 1 // (opaque). // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // linestyles : str or tuple or list of such values, default: 'solid' // // Default is 'solid'. Valid strings are ['solid', 'dashed', // 'dashdot', 'dotted', '-', '--', '-.', ':']. Dash tuples // should be of the form:: // // (offset, onoffseq), // // where *onoffseq* is an even length tuple of on and off ink // in points. // // If *positions* is 2D, this can be a sequence with length matching // the length of *positions*. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *positions*, *lineoffsets*, *linelengths*, *linewidths*, *colors*, *linestyles* // // **kwargs // // Other keyword arguments are line collection properties. See // `.LineCollection` for a list of the valid properties. // // Returns // ------- // list of `.EventCollection` // // The `.EventCollection` that were added. // // Notes // ----- // For *linelengths*, *linewidths*, *colors*, *alpha* and *linestyles*, if // only a single value is given, that value is applied to all lines. If an // array-like is given, it must have the same length as *positions*, and // each value will be applied to the corresponding row of the array. // // Examples // -------- // .. plot:: gallery/lines_bars_and_markers/eventplot_demo.py // //go:linkname Eventplot py.eventplot func Eventplot(positions *py.Object, orientation *py.Object, lineoffsets *py.Object, linelengths *py.Object, linewidths *py.Object, colors *py.Object, alpha *py.Object, linestyles *py.Object) *py.Object // Plot filled polygons. // // Parameters // ---------- // *args : sequence of x, y, [color] // // Each polygon is defined by the lists of *x* and *y* positions of // its nodes, optionally followed by a *color* specifier. See // :mod:`matplotlib.colors` for supported color specifiers. The // standard color cycle is used for polygons without a color // specifier. // // You can plot multiple polygons by providing multiple *x*, *y*, // *[color]* groups. // // For example, each of the following is legal:: // // ax.fill(x, y) # a polygon with default color // ax.fill(x, y, "b") # a blue polygon // ax.fill(x, y, x2, y2) # two polygons // ax.fill(x, y, "b", x2, y2, "r") # a blue and a red polygon // // data : indexable object, optional // // An object with labelled data. If given, provide the label names to // plot in *x* and *y*, e.g.:: // // ax.fill("time", "signal", // data={"time": [0, 1, 2], "signal": [0, 1, 0]}) // // Returns // ------- // list of `~matplotlib.patches.Polygon` // // Other Parameters // ---------------- // **kwargs : `~matplotlib.patches.Polygon` properties // // Notes // ----- // Use :meth:`fill_between` if you would like to fill the region between // two curves. // //go:linkname Fill py.fill func Fill(__llgo_va_list ...interface{}) *py.Object // Fill the area between two horizontal curves. // // The curves are defined by the points (*x*, *y1*) and (*x*, // *y2*). This creates one or multiple polygons describing the filled // area. // // You may exclude some horizontal sections from filling using *where*. // // By default, the edges connect the given points directly. Use *step* // if the filling should be a step function, i.e. constant in between // *x*. // // Parameters // ---------- // x : array (length N) // // The x coordinates of the nodes defining the curves. // // y1 : array (length N) or scalar // // The y coordinates of the nodes defining the first curve. // // y2 : array (length N) or scalar, default: 0 // // The y coordinates of the nodes defining the second curve. // // where : array of bool (length N), optional // // Define *where* to exclude some horizontal regions from being filled. // The filled regions are defined by the coordinates ``x[where]``. // More precisely, fill between ``x[i]`` and ``x[i+1]`` if // ``where[i] and where[i+1]``. Note that this definition implies // that an isolated *True* value between two *False* values in *where* // will not result in filling. Both sides of the *True* position // remain unfilled due to the adjacent *False* values. // // interpolate : bool, default: False // // This option is only relevant if *where* is used and the two curves // are crossing each other. // // Semantically, *where* is often used for *y1* > *y2* or // similar. By default, the nodes of the polygon defining the filled // region will only be placed at the positions in the *x* array. // Such a polygon cannot describe the above semantics close to the // intersection. The x-sections containing the intersection are // simply clipped. // // Setting *interpolate* to *True* will calculate the actual // intersection point and extend the filled region up to this point. // // step : {'pre', 'post', 'mid'}, optional // // Define *step* if the filling should be a step function, // i.e. constant in between *x*. The value determines where the // step will occur: // // - 'pre': The y value is continued constantly to the left from // every *x* position, i.e. the interval ``(x[i-1], x[i]]`` has the // value ``y[i]``. // - 'post': The y value is continued constantly to the right from // every *x* position, i.e. the interval ``[x[i], x[i+1])`` has the // value ``y[i]``. // - 'mid': Steps occur half-way between the *x* positions. // // Returns // ------- // `.PolyCollection` // // A `.PolyCollection` containing the plotted polygons. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y1*, *y2*, *where* // // **kwargs // // All other keyword arguments are passed on to `.PolyCollection`. // They control the `.Polygon` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // // See Also // -------- // fill_between : Fill between two sets of y-values. // fill_betweenx : Fill between two sets of x-values. // //go:linkname FillBetween py.fill_between func FillBetween(x *py.Object, y1 *py.Object, y2 *py.Object, where *py.Object, interpolate *py.Object, step *py.Object) *py.Object // Fill the area between two vertical curves. // // The curves are defined by the points (*y*, *x1*) and (*y*, // *x2*). This creates one or multiple polygons describing the filled // area. // // You may exclude some vertical sections from filling using *where*. // // By default, the edges connect the given points directly. Use *step* // if the filling should be a step function, i.e. constant in between // *y*. // // Parameters // ---------- // y : array (length N) // // The y coordinates of the nodes defining the curves. // // x1 : array (length N) or scalar // // The x coordinates of the nodes defining the first curve. // // x2 : array (length N) or scalar, default: 0 // // The x coordinates of the nodes defining the second curve. // // where : array of bool (length N), optional // // Define *where* to exclude some vertical regions from being filled. // The filled regions are defined by the coordinates ``y[where]``. // More precisely, fill between ``y[i]`` and ``y[i+1]`` if // ``where[i] and where[i+1]``. Note that this definition implies // that an isolated *True* value between two *False* values in *where* // will not result in filling. Both sides of the *True* position // remain unfilled due to the adjacent *False* values. // // interpolate : bool, default: False // // This option is only relevant if *where* is used and the two curves // are crossing each other. // // Semantically, *where* is often used for *x1* > *x2* or // similar. By default, the nodes of the polygon defining the filled // region will only be placed at the positions in the *y* array. // Such a polygon cannot describe the above semantics close to the // intersection. The y-sections containing the intersection are // simply clipped. // // Setting *interpolate* to *True* will calculate the actual // intersection point and extend the filled region up to this point. // // step : {'pre', 'post', 'mid'}, optional // // Define *step* if the filling should be a step function, // i.e. constant in between *y*. The value determines where the // step will occur: // // - 'pre': The y value is continued constantly to the left from // every *x* position, i.e. the interval ``(x[i-1], x[i]]`` has the // value ``y[i]``. // - 'post': The y value is continued constantly to the right from // every *x* position, i.e. the interval ``[x[i], x[i+1])`` has the // value ``y[i]``. // - 'mid': Steps occur half-way between the *x* positions. // // Returns // ------- // `.PolyCollection` // // A `.PolyCollection` containing the plotted polygons. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *y*, *x1*, *x2*, *where* // // **kwargs // // All other keyword arguments are passed on to `.PolyCollection`. // They control the `.Polygon` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // // See Also // -------- // fill_between : Fill between two sets of y-values. // fill_betweenx : Fill between two sets of x-values. // //go:linkname FillBetweenx py.fill_betweenx func FillBetweenx(y *py.Object, x1 *py.Object, x2 *py.Object, where *py.Object, step *py.Object, interpolate *py.Object) *py.Object // Configure the grid lines. // // Parameters // ---------- // visible : bool or None, optional // // Whether to show the grid lines. If any *kwargs* are supplied, it // is assumed you want the grid on and *visible* will be set to True. // // If *visible* is *None* and there are no *kwargs*, this toggles the // visibility of the lines. // // which : {'major', 'minor', 'both'}, optional // // The grid lines to apply the changes on. // // axis : {'both', 'x', 'y'}, optional // // The axis to apply the changes on. // // **kwargs : `~matplotlib.lines.Line2D` properties // // Define the line properties of the grid, e.g.:: // // grid(color='r', linestyle='-', linewidth=2) // // Valid keyword arguments are: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // Notes // ----- // The axis is drawn as a unit, so the effective zorder for drawing the // grid is determined by the zorder of each axis, not by the zorder of the // `.Line2D` objects comprising the grid. Therefore, to set grid zorder, // use `.set_axisbelow` or, for more control, call the // `~.Artist.set_zorder` method of each axis. // //go:linkname Grid py.grid func Grid(visible *py.Object, which *py.Object, axis *py.Object) *py.Object // Make a 2D hexagonal binning plot of points *x*, *y*. // // If *C* is *None*, the value of the hexagon is determined by the number // of points in the hexagon. Otherwise, *C* specifies values at the // coordinate (x[i], y[i]). For each hexagon, these values are reduced // using *reduce_C_function*. // // Parameters // ---------- // x, y : array-like // // The data positions. *x* and *y* must be of the same length. // // C : array-like, optional // // If given, these values are accumulated in the bins. Otherwise, // every point has a value of 1. Must be of the same length as *x* // and *y*. // // gridsize : int or (int, int), default: 100 // // If a single int, the number of hexagons in the *x*-direction. // The number of hexagons in the *y*-direction is chosen such that // the hexagons are approximately regular. // // Alternatively, if a tuple (*nx*, *ny*), the number of hexagons // in the *x*-direction and the *y*-direction. In the // *y*-direction, counting is done along vertically aligned // hexagons, not along the zig-zag chains of hexagons; see the // following illustration. // // .. plot:: // // import numpy // import matplotlib.pyplot as plt // // np.random.seed(19680801) // n= 300 // x = np.random.standard_normal(n) // y = np.random.standard_normal(n) // // fig, ax = plt.subplots(figsize=(4, 4)) // h = ax.hexbin(x, y, gridsize=(5, 3)) // hx, hy = h.get_offsets().T // ax.plot(hx[24::3], hy[24::3], 'ro-') // ax.plot(hx[-3:], hy[-3:], 'ro-') // ax.set_title('gridsize=(5, 3)') // ax.axis('off') // // To get approximately regular hexagons, choose // :math:`n_x = \sqrt{3}\,n_y`. // // bins : 'log' or int or sequence, default: None // // Discretization of the hexagon values. // // - If *None*, no binning is applied; the color of each hexagon // directly corresponds to its count value. // - If 'log', use a logarithmic scale for the colormap. // Internally, :math:`log_{10}(i+1)` is used to determine the // hexagon color. This is equivalent to ``norm=LogNorm()``. // - If an integer, divide the counts in the specified number // of bins, and color the hexagons accordingly. // - If a sequence of values, the values of the lower bound of // the bins to be used. // // xscale : {'linear', 'log'}, default: 'linear' // // Use a linear or log10 scale on the horizontal axis. // // yscale : {'linear', 'log'}, default: 'linear' // // Use a linear or log10 scale on the vertical axis. // // mincnt : int >= 0, default: *None* // // If not *None*, only display cells with at least *mincnt* // number of points in the cell. // // marginals : bool, default: *False* // // If marginals is *True*, plot the marginal density as // colormapped rectangles along the bottom of the x-axis and // left of the y-axis. // // extent : 4-tuple of float, default: *None* // // The limits of the bins (xmin, xmax, ymin, ymax). // The default assigns the limits based on // *gridsize*, *x*, *y*, *xscale* and *yscale*. // // If *xscale* or *yscale* is set to 'log', the limits are // expected to be the exponent for a power of 10. E.g. for // x-limits of 1 and 50 in 'linear' scale and y-limits // of 10 and 1000 in 'log' scale, enter (1, 50, 1, 3). // // Returns // ------- // `~matplotlib.collections.PolyCollection` // // A `.PolyCollection` defining the hexagonal bins. // // - `.PolyCollection.get_offsets` contains a Mx2 array containing // the x, y positions of the M hexagon centers. // - `.PolyCollection.get_array` contains the values of the M // hexagons. // // If *marginals* is *True*, horizontal // bar and vertical bar (both PolyCollections) will be attached // to the return collection as attributes *hbar* and *vbar*. // // Other Parameters // ---------------- // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // alpha : float between 0 and 1, optional // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // linewidths : float, default: *None* // // If *None*, defaults to :rc:`patch.linewidth`. // // edgecolors : {'face', 'none', *None*} or color, default: 'face' // // The color of the hexagon edges. Possible values are: // // - 'face': Draw the edges in the same color as the fill color. // - 'none': No edges are drawn. This can sometimes lead to unsightly // unpainted pixels between the hexagons. // - *None*: Draw outlines in the default color. // - An explicit color. // // reduce_C_function : callable, default: `numpy.mean` // // The function to aggregate *C* within the bins. It is ignored if // *C* is not given. This must have the signature:: // // def reduce_C_function(C: array) -> float // // Commonly used functions are: // // - `numpy.mean`: average of the points // - `numpy.sum`: integral of the point values // - `numpy.amax`: value taken from the largest point // // By default will only reduce cells with at least 1 point because some // reduction functions (such as `numpy.amax`) will error/warn with empty // input. Changing *mincnt* will adjust the cutoff, and if set to 0 will // pass empty input to the reduction function. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y*, *C* // // **kwargs : `~matplotlib.collections.PolyCollection` properties // // All other keyword arguments are passed on to `.PolyCollection`: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // // See Also // -------- // hist2d : 2D histogram rectangular bins // //go:linkname Hexbin py.hexbin func Hexbin(x *py.Object, y *py.Object, C *py.Object, gridsize *py.Object, bins *py.Object, xscale *py.Object, yscale *py.Object, extent *py.Object, cmap *py.Object, norm *py.Object, vmin *py.Object, vmax *py.Object, alpha *py.Object, linewidths *py.Object, edgecolors *py.Object, reduceCFunction *py.Object, mincnt *py.Object, marginals *py.Object) *py.Object // Compute and plot a histogram. // // This method uses `numpy.histogram` to bin the data in *x* and count the // number of values in each bin, then draws the distribution either as a // `.BarContainer` or `.Polygon`. The *bins*, *range*, *density*, and // *weights* parameters are forwarded to `numpy.histogram`. // // If the data has already been binned and counted, use `~.bar` or // `~.stairs` to plot the distribution:: // // counts, bins = np.histogram(x) // plt.stairs(counts, bins) // // Alternatively, plot pre-computed bins and counts using “hist()“ by // treating each bin as a single point with a weight equal to its count:: // // plt.hist(bins[:-1], bins, weights=counts) // // The data input *x* can be a singular array, a list of datasets of // potentially different lengths ([*x0*, *x1*, ...]), or a 2D ndarray in // which each column is a dataset. Note that the ndarray form is // transposed relative to the list form. If the input is an array, then // the return value is a tuple (*n*, *bins*, *patches*); if the input is a // sequence of arrays, then the return value is a tuple // ([*n0*, *n1*, ...], *bins*, [*patches0*, *patches1*, ...]). // // Masked arrays are not supported. // // Parameters // ---------- // x : (n,) array or sequence of (n,) arrays // // Input values, this takes either a single array or a sequence of // arrays which are not required to be of the same length. // // bins : int or sequence or str, default: :rc:`hist.bins` // // If *bins* is an integer, it defines the number of equal-width bins // in the range. // // If *bins* is a sequence, it defines the bin edges, including the // left edge of the first bin and the right edge of the last bin; // in this case, bins may be unequally spaced. All but the last // (righthand-most) bin is half-open. In other words, if *bins* is:: // // [1, 2, 3, 4] // // then the first bin is ``[1, 2)`` (including 1, but excluding 2) and // the second ``[2, 3)``. The last bin, however, is ``[3, 4]``, which // *includes* 4. // // If *bins* is a string, it is one of the binning strategies // supported by `numpy.histogram_bin_edges`: 'auto', 'fd', 'doane', // 'scott', 'stone', 'rice', 'sturges', or 'sqrt'. // // range : tuple or None, default: None // // The lower and upper range of the bins. Lower and upper outliers // are ignored. If not provided, *range* is ``(x.min(), x.max())``. // Range has no effect if *bins* is a sequence. // // If *bins* is a sequence or *range* is specified, autoscaling // is based on the specified bin range instead of the // range of x. // // density : bool, default: False // // If ``True``, draw and return a probability density: each bin // will display the bin's raw count divided by the total number of // counts *and the bin width* // (``density = counts / (sum(counts) * np.diff(bins))``), // so that the area under the histogram integrates to 1 // (``np.sum(density * np.diff(bins)) == 1``). // // If *stacked* is also ``True``, the sum of the histograms is // normalized to 1. // // weights : (n,) array-like or None, default: None // // An array of weights, of the same shape as *x*. Each value in // *x* only contributes its associated weight towards the bin count // (instead of 1). If *density* is ``True``, the weights are // normalized, so that the integral of the density over the range // remains 1. // // cumulative : bool or -1, default: False // // If ``True``, then a histogram is computed where each bin gives the // counts in that bin plus all bins for smaller values. The last bin // gives the total number of datapoints. // // If *density* is also ``True`` then the histogram is normalized such // that the last bin equals 1. // // If *cumulative* is a number less than 0 (e.g., -1), the direction // of accumulation is reversed. In this case, if *density* is also // ``True``, then the histogram is normalized such that the first bin // equals 1. // // bottom : array-like, scalar, or None, default: None // // Location of the bottom of each bin, i.e. bins are drawn from // ``bottom`` to ``bottom + hist(x, bins)`` If a scalar, the bottom // of each bin is shifted by the same amount. If an array, each bin // is shifted independently and the length of bottom must match the // number of bins. If None, defaults to 0. // // histtype : {'bar', 'barstacked', 'step', 'stepfilled'}, default: 'bar' // // The type of histogram to draw. // // - 'bar' is a traditional bar-type histogram. If multiple data // are given the bars are arranged side by side. // - 'barstacked' is a bar-type histogram where multiple // data are stacked on top of each other. // - 'step' generates a lineplot that is by default unfilled. // - 'stepfilled' generates a lineplot that is by default filled. // // align : {'left', 'mid', 'right'}, default: 'mid' // // The horizontal alignment of the histogram bars. // // - 'left': bars are centered on the left bin edges. // - 'mid': bars are centered between the bin edges. // - 'right': bars are centered on the right bin edges. // // orientation : {'vertical', 'horizontal'}, default: 'vertical' // // If 'horizontal', `~.Axes.barh` will be used for bar-type histograms // and the *bottom* kwarg will be the left edges. // // rwidth : float or None, default: None // // The relative width of the bars as a fraction of the bin width. If // ``None``, automatically compute the width. // // Ignored if *histtype* is 'step' or 'stepfilled'. // // log : bool, default: False // // If ``True``, the histogram axis will be set to a log scale. // // color : color or array-like of colors or None, default: None // // Color or sequence of colors, one per dataset. Default (``None``) // uses the standard line color sequence. // // label : str or None, default: None // // String, or sequence of strings to match multiple datasets. Bar // charts yield multiple patches per dataset, but only the first gets // the label, so that `~.Axes.legend` will work as expected. // // stacked : bool, default: False // // If ``True``, multiple data are stacked on top of each other If // ``False`` multiple data are arranged side by side if histtype is // 'bar' or on top of each other if histtype is 'step' // // Returns // ------- // n : array or list of arrays // // The values of the histogram bins. See *density* and *weights* for a // description of the possible semantics. If input *x* is an array, // then this is an array of length *nbins*. If input is a sequence of // arrays ``[data1, data2, ...]``, then this is a list of arrays with // the values of the histograms for each of the arrays in the same // order. The dtype of the array *n* (or of its element arrays) will // always be float even if no weighting or normalization is used. // // bins : array // // The edges of the bins. Length nbins + 1 (nbins left edges and right // edge of last bin). Always a single array even when multiple data // sets are passed in. // // patches : `.BarContainer` or list of a single `.Polygon` or list of such objects // // Container of individual artists used to create the histogram // or list of such containers if there are multiple input datasets. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *weights* // // **kwargs // // `~matplotlib.patches.Patch` properties // // See Also // -------- // hist2d : 2D histogram with rectangular bins // hexbin : 2D histogram with hexagonal bins // stairs : Plot a pre-computed histogram // bar : Plot a pre-computed histogram // // Notes // ----- // For large numbers of bins (>1000), plotting can be significantly // accelerated by using `~.Axes.stairs` to plot a pre-computed histogram // (“plt.stairs(*np.histogram(data))“), or by setting *histtype* to // 'step' or 'stepfilled' rather than 'bar' or 'barstacked'. // //go:linkname Hist py.hist func Hist(x *py.Object, bins *py.Object, range_ *py.Object, density *py.Object, weights *py.Object, cumulative *py.Object, bottom *py.Object, histtype *py.Object, align *py.Object, orientation *py.Object, rwidth *py.Object, log *py.Object, color *py.Object, label *py.Object, stacked *py.Object) *py.Object // A stepwise constant function as a line with bounding edges // or a filled plot. // // Parameters // ---------- // values : array-like // // The step heights. // // edges : array-like // // The edge positions, with ``len(edges) == len(vals) + 1``, // between which the curve takes on vals values. // // orientation : {'vertical', 'horizontal'}, default: 'vertical' // // The direction of the steps. Vertical means that *values* are along // the y-axis, and edges are along the x-axis. // // baseline : float, array-like or None, default: 0 // // The bottom value of the bounding edges or when // ``fill=True``, position of lower edge. If *fill* is // True or an array is passed to *baseline*, a closed // path is drawn. // // fill : bool, default: False // // Whether the area under the step curve should be filled. // // Returns // ------- // StepPatch : `~matplotlib.patches.StepPatch` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs // // `~matplotlib.patches.StepPatch` properties // //go:linkname Stairs py.stairs func Stairs(values *py.Object, edges *py.Object) *py.Object // Make a 2D histogram plot. // // Parameters // ---------- // x, y : array-like, shape (n, ) // // Input values // // bins : None or int or [int, int] or array-like or [array, array] // // The bin specification: // // - If int, the number of bins for the two dimensions // (``nx = ny = bins``). // - If ``[int, int]``, the number of bins in each dimension // (``nx, ny = bins``). // - If array-like, the bin edges for the two dimensions // (``x_edges = y_edges = bins``). // - If ``[array, array]``, the bin edges in each dimension // (``x_edges, y_edges = bins``). // // The default value is 10. // // range : array-like shape(2, 2), optional // // The leftmost and rightmost edges of the bins along each dimension // (if not specified explicitly in the bins parameters): ``[[xmin, // xmax], [ymin, ymax]]``. All values outside of this range will be // considered outliers and not tallied in the histogram. // // density : bool, default: False // // Normalize histogram. See the documentation for the *density* // parameter of `~.Axes.hist` for more details. // // weights : array-like, shape (n, ), optional // // An array of values w_i weighing each sample (x_i, y_i). // // cmin, cmax : float, default: None // // All bins that has count less than *cmin* or more than *cmax* will not be // displayed (set to NaN before passing to `~.Axes.pcolormesh`) and these count // values in the return value count histogram will also be set to nan upon // return. // // Returns // ------- // h : 2D array // // The bi-dimensional histogram of samples x and y. Values in x are // histogrammed along the first dimension and values in y are // histogrammed along the second dimension. // // xedges : 1D array // // The bin edges along the x-axis. // // yedges : 1D array // // The bin edges along the y-axis. // // image : `~.matplotlib.collections.QuadMesh` // // Other Parameters // ---------------- // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // alpha : “0 <= scalar <= 1“ or “None“, optional // // The alpha blending value. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y*, *weights* // // **kwargs // // Additional parameters are passed along to the // `~.Axes.pcolormesh` method and `~matplotlib.collections.QuadMesh` // constructor. // // See Also // -------- // hist : 1D histogram plotting // hexbin : 2D histogram with hexagonal bins // // Notes // ----- // - Currently “hist2d“ calculates its own axis limits, and any limits // previously set are ignored. // - Rendering the histogram with a logarithmic color scale is // accomplished by passing a `.colors.LogNorm` instance to the *norm* // keyword argument. Likewise, power-law normalization (similar // in effect to gamma correction) can be accomplished with // `.colors.PowerNorm`. // //go:linkname Hist2d py.hist2d func Hist2d(x *py.Object, y *py.Object, bins *py.Object, range_ *py.Object, density *py.Object, weights *py.Object, cmin *py.Object, cmax *py.Object) *py.Object // Plot horizontal lines at each *y* from *xmin* to *xmax*. // // Parameters // ---------- // y : float or array-like // // y-indexes where to plot the lines. // // xmin, xmax : float or array-like // // Respective beginning and end of each line. If scalars are // provided, all lines will have the same length. // // colors : color or list of colors, default: :rc:`lines.color` // // linestyles : {'solid', 'dashed', 'dashdot', 'dotted'}, default: 'solid' // // label : str, default: ” // // Returns // ------- // `~matplotlib.collections.LineCollection` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *y*, *xmin*, *xmax*, *colors* // // **kwargs : `~matplotlib.collections.LineCollection` properties. // // See Also // -------- // vlines : vertical lines // axhline : horizontal line across the Axes // //go:linkname Hlines py.hlines func Hlines(y *py.Object, xmin *py.Object, xmax *py.Object, colors *py.Object, linestyles *py.Object, label *py.Object) *py.Object // Display data as an image, i.e., on a 2D regular raster. // // The input may either be actual RGB(A) data, or 2D scalar data, which // will be rendered as a pseudocolor image. For displaying a grayscale // image, set up the colormapping using the parameters // “cmap='gray', vmin=0, vmax=255“. // // The number of pixels used to render an image is set by the Axes size // and the figure *dpi*. This can lead to aliasing artifacts when // the image is resampled, because the displayed image size will usually // not match the size of *X* (see // :doc:`/gallery/images_contours_and_fields/image_antialiasing`). // The resampling can be controlled via the *interpolation* parameter // and/or :rc:`image.interpolation`. // // Parameters // ---------- // X : array-like or PIL image // // The image data. Supported array shapes are: // // - (M, N): an image with scalar data. The values are mapped to // colors using normalization and a colormap. See parameters *norm*, // *cmap*, *vmin*, *vmax*. // - (M, N, 3): an image with RGB values (0-1 float or 0-255 int). // - (M, N, 4): an image with RGBA values (0-1 float or 0-255 int), // i.e. including transparency. // // The first two dimensions (M, N) define the rows and columns of // the image. // // Out-of-range RGB(A) values are clipped. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *X* is RGB(A). // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *X* is RGB(A). // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // This parameter is ignored if *X* is RGB(A). // // aspect : {'equal', 'auto'} or float or None, default: None // // The aspect ratio of the Axes. This parameter is particularly // relevant for images since it determines whether data pixels are // square. // // This parameter is a shortcut for explicitly calling // `.Axes.set_aspect`. See there for further details. // // - 'equal': Ensures an aspect ratio of 1. Pixels will be square // (unless pixel sizes are explicitly made non-square in data // coordinates using *extent*). // - 'auto': The Axes is kept fixed and the aspect is adjusted so // that the data fit in the Axes. In general, this will result in // non-square pixels. // // Normally, None (the default) means to use :rc:`image.aspect`. However, if // the image uses a transform that does not contain the axes data transform, // then None means to not modify the axes aspect at all (in that case, directly // call `.Axes.set_aspect` if desired). // // interpolation : str, default: :rc:`image.interpolation` // // The interpolation method used. // // Supported values are 'none', 'antialiased', 'nearest', 'bilinear', // 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming', 'hermite', // 'kaiser', 'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', // 'sinc', 'lanczos', 'blackman'. // // The data *X* is resampled to the pixel size of the image on the // figure canvas, using the interpolation method to either up- or // downsample the data. // // If *interpolation* is 'none', then for the ps, pdf, and svg // backends no down- or upsampling occurs, and the image data is // passed to the backend as a native image. Note that different ps, // pdf, and svg viewers may display these raw pixels differently. On // other backends, 'none' is the same as 'nearest'. // // If *interpolation* is the default 'antialiased', then 'nearest' // interpolation is used if the image is upsampled by more than a // factor of three (i.e. the number of display pixels is at least // three times the size of the data array). If the upsampling rate is // smaller than 3, or the image is downsampled, then 'hanning' // interpolation is used to act as an anti-aliasing filter, unless the // image happens to be upsampled by exactly a factor of two or one. // // See // :doc:`/gallery/images_contours_and_fields/interpolation_methods` // for an overview of the supported interpolation methods, and // :doc:`/gallery/images_contours_and_fields/image_antialiasing` for // a discussion of image antialiasing. // // Some interpolation methods require an additional radius parameter, // which can be set by *filterrad*. Additionally, the antigrain image // resize filter is controlled by the parameter *filternorm*. // // interpolation_stage : {'data', 'rgba'}, default: 'data' // // If 'data', interpolation // is carried out on the data provided by the user. If 'rgba', the // interpolation is carried out after the colormapping has been // applied (visual interpolation). // // alpha : float or array-like, optional // // The alpha blending value, between 0 (transparent) and 1 (opaque). // If *alpha* is an array, the alpha blending values are applied pixel // by pixel, and *alpha* must have the same shape as *X*. // // origin : {'upper', 'lower'}, default: :rc:`image.origin` // // Place the [0, 0] index of the array in the upper left or lower // left corner of the Axes. The convention (the default) 'upper' is // typically used for matrices and images. // // Note that the vertical axis points upward for 'lower' // but downward for 'upper'. // // See the :ref:`imshow_extent` tutorial for // examples and a more detailed description. // // extent : floats (left, right, bottom, top), optional // // The bounding box in data coordinates that the image will fill. // These values may be unitful and match the units of the Axes. // The image is stretched individually along x and y to fill the box. // // The default extent is determined by the following conditions. // Pixels have unit size in data coordinates. Their centers are on // integer coordinates, and their center coordinates range from 0 to // columns-1 horizontally and from 0 to rows-1 vertically. // // Note that the direction of the vertical axis and thus the default // values for top and bottom depend on *origin*: // // - For ``origin == 'upper'`` the default is // ``(-0.5, numcols-0.5, numrows-0.5, -0.5)``. // - For ``origin == 'lower'`` the default is // ``(-0.5, numcols-0.5, -0.5, numrows-0.5)``. // // See the :ref:`imshow_extent` tutorial for // examples and a more detailed description. // // filternorm : bool, default: True // // A parameter for the antigrain image resize filter (see the // antigrain documentation). If *filternorm* is set, the filter // normalizes integer values and corrects the rounding errors. It // doesn't do anything with the source floating point values, it // corrects only integers according to the rule of 1.0 which means // that any sum of pixel weights must be equal to 1.0. So, the // filter function must produce a graph of the proper shape. // // filterrad : float > 0, default: 4.0 // // The filter radius for filters that have a radius parameter, i.e. // when interpolation is one of: 'sinc', 'lanczos' or 'blackman'. // // resample : bool, default: :rc:`image.resample` // // When *True*, use a full resampling method. When *False*, only // resample when the output image is larger than the input image. // // url : str, optional // // Set the url of the created `.AxesImage`. See `.Artist.set_url`. // // Returns // ------- // `~matplotlib.image.AxesImage` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs : `~matplotlib.artist.Artist` properties // // These parameters are passed on to the constructor of the // `.AxesImage` artist. // // See Also // -------- // matshow : Plot a matrix or an array as an image. // // Notes // ----- // Unless *extent* is used, pixel centers will be located at integer // coordinates. In other words: the origin will coincide with the center // of pixel (0, 0). // // There are two common representations for RGB images with an alpha // channel: // // - Straight (unassociated) alpha: R, G, and B channels represent the // color of the pixel, disregarding its opacity. // - Premultiplied (associated) alpha: R, G, and B channels represent // the color of the pixel, adjusted for its opacity by multiplication. // // `~matplotlib.pyplot.imshow` expects RGB images adopting the straight // (unassociated) alpha representation. // //go:linkname Imshow py.imshow func Imshow(X *py.Object, cmap *py.Object, norm *py.Object) *py.Object // Place a legend on the Axes. // // Call signatures:: // // legend() // legend(handles, labels) // legend(handles=handles) // legend(labels) // // The call signatures correspond to the following different ways to use // this method: // // **1. Automatic detection of elements to be shown in the legend** // // The elements to be added to the legend are automatically determined, // when you do not pass in any extra arguments. // // In this case, the labels are taken from the artist. You can specify // them either at artist creation or by calling the // :meth:`~.Artist.set_label` method on the artist:: // // ax.plot([1, 2, 3], label='Inline label') // ax.legend() // // or:: // // line, = ax.plot([1, 2, 3]) // line.set_label('Label via method') // ax.legend() // // .. note:: // // Specific artists can be excluded from the automatic legend element // selection by using a label starting with an underscore, "_". // A string starting with an underscore is the default label for all // artists, so calling `.Axes.legend` without any arguments and // without setting the labels manually will result in no legend being // drawn. // // **2. Explicitly listing the artists and labels in the legend** // // For full control of which artists have a legend entry, it is possible // to pass an iterable of legend artists followed by an iterable of // legend labels respectively:: // // ax.legend([line1, line2, line3], ['label1', 'label2', 'label3']) // // **3. Explicitly listing the artists in the legend** // // This is similar to 2, but the labels are taken from the artists' // label properties. Example:: // // line1, = ax.plot([1, 2, 3], label='label1') // line2, = ax.plot([1, 2, 3], label='label2') // ax.legend(handles=[line1, line2]) // // **4. Labeling existing plot elements** // // .. admonition:: Discouraged // // This call signature is discouraged, because the relation between // plot elements and labels is only implicit by their order and can // easily be mixed up. // // To make a legend for all artists on an Axes, call this function with // an iterable of strings, one for each legend item. For example:: // // ax.plot([1, 2, 3]) // ax.plot([5, 6, 7]) // ax.legend(['First line', 'Second line']) // // Parameters // ---------- // handles : list of (`.Artist` or tuple of `.Artist`), optional // // A list of Artists (lines, patches) to be added to the legend. // Use this together with *labels*, if you need full control on what // is shown in the legend and the automatic mechanism described above // is not sufficient. // // The length of handles and labels should be the same in this // case. If they are not, they are truncated to the smaller length. // // If an entry contains a tuple, then the legend handler for all Artists in the // tuple will be placed alongside a single label. // // labels : list of str, optional // // A list of labels to show next to the artists. // Use this together with *handles*, if you need full control on what // is shown in the legend and the automatic mechanism described above // is not sufficient. // // Returns // ------- // `~matplotlib.legend.Legend` // // Other Parameters // ---------------- // // loc : str or pair of floats, default: :rc:`legend.loc` // // The location of the legend. // // The strings ``'upper left'``, ``'upper right'``, ``'lower left'``, // ``'lower right'`` place the legend at the corresponding corner of the // axes. // // The strings ``'upper center'``, ``'lower center'``, ``'center left'``, // ``'center right'`` place the legend at the center of the corresponding edge // of the axes. // // The string ``'center'`` places the legend at the center of the axes. // // The string ``'best'`` places the legend at the location, among the nine // locations defined so far, with the minimum overlap with other drawn // artists. This option can be quite slow for plots with large amounts of // data; your plotting speed may benefit from providing a specific location. // // The location can also be a 2-tuple giving the coordinates of the lower-left // corner of the legend in axes coordinates (in which case *bbox_to_anchor* // will be ignored). // // For back-compatibility, ``'center right'`` (but no other location) can also // be spelled ``'right'``, and each "string" location can also be given as a // numeric value: // // ================== ============= // Location String Location Code // ================== ============= // 'best' (Axes only) 0 // 'upper right' 1 // 'upper left' 2 // 'lower left' 3 // 'lower right' 4 // 'right' 5 // 'center left' 6 // 'center right' 7 // 'lower center' 8 // 'upper center' 9 // 'center' 10 // ================== ============= // // bbox_to_anchor : `.BboxBase`, 2-tuple, or 4-tuple of floats // // Box that is used to position the legend in conjunction with *loc*. // Defaults to `axes.bbox` (if called as a method to `.Axes.legend`) or // `figure.bbox` (if `.Figure.legend`). This argument allows arbitrary // placement of the legend. // // Bbox coordinates are interpreted in the coordinate system given by // *bbox_transform*, with the default transform // Axes or Figure coordinates, depending on which ``legend`` is called. // // If a 4-tuple or `.BboxBase` is given, then it specifies the bbox // ``(x, y, width, height)`` that the legend is placed in. // To put the legend in the best location in the bottom right // quadrant of the axes (or figure):: // // loc='best', bbox_to_anchor=(0.5, 0., 0.5, 0.5) // // A 2-tuple ``(x, y)`` places the corner of the legend specified by *loc* at // x, y. For example, to put the legend's upper right-hand corner in the // center of the axes (or figure) the following keywords can be used:: // // loc='upper right', bbox_to_anchor=(0.5, 0.5) // // ncols : int, default: 1 // // The number of columns that the legend has. // // For backward compatibility, the spelling *ncol* is also supported // but it is discouraged. If both are given, *ncols* takes precedence. // // prop : None or `~matplotlib.font_manager.FontProperties` or dict // // The font properties of the legend. If None (default), the current // :data:`matplotlib.rcParams` will be used. // // fontsize : int or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} // // The font size of the legend. If the value is numeric the size will be the // absolute font size in points. String values are relative to the current // default font size. This argument is only used if *prop* is not specified. // // labelcolor : str or list, default: :rc:`legend.labelcolor` // // The color of the text in the legend. Either a valid color string // (for example, 'red'), or a list of color strings. The labelcolor can // also be made to match the color of the line or marker using 'linecolor', // 'markerfacecolor' (or 'mfc'), or 'markeredgecolor' (or 'mec'). // // Labelcolor can be set globally using :rc:`legend.labelcolor`. If None, // use :rc:`text.color`. // // numpoints : int, default: :rc:`legend.numpoints` // // The number of marker points in the legend when creating a legend // entry for a `.Line2D` (line). // // scatterpoints : int, default: :rc:`legend.scatterpoints` // // The number of marker points in the legend when creating // a legend entry for a `.PathCollection` (scatter plot). // // scatteryoffsets : iterable of floats, default: “[0.375, 0.5, 0.3125]“ // // The vertical offset (relative to the font size) for the markers // created for a scatter plot legend entry. 0.0 is at the base the // legend text, and 1.0 is at the top. To draw all markers at the // same height, set to ``[0.5]``. // // markerscale : float, default: :rc:`legend.markerscale` // // The relative size of legend markers compared to the originally drawn ones. // // markerfirst : bool, default: True // // If *True*, legend marker is placed to the left of the legend label. // If *False*, legend marker is placed to the right of the legend label. // // reverse : bool, default: False // // If *True*, the legend labels are displayed in reverse order from the input. // If *False*, the legend labels are displayed in the same order as the input. // // .. versionadded:: 3.7 // // frameon : bool, default: :rc:`legend.frameon` // // Whether the legend should be drawn on a patch (frame). // // fancybox : bool, default: :rc:`legend.fancybox` // // Whether round edges should be enabled around the `.FancyBboxPatch` which // makes up the legend's background. // // shadow : None, bool or dict, default: :rc:`legend.shadow` // // Whether to draw a shadow behind the legend. // The shadow can be configured using `.Patch` keywords. // Customization via :rc:`legend.shadow` is currently not supported. // // framealpha : float, default: :rc:`legend.framealpha` // // The alpha transparency of the legend's background. // If *shadow* is activated and *framealpha* is ``None``, the default value is // ignored. // // facecolor : "inherit" or color, default: :rc:`legend.facecolor` // // The legend's background color. // If ``"inherit"``, use :rc:`axes.facecolor`. // // edgecolor : "inherit" or color, default: :rc:`legend.edgecolor` // // The legend's background patch edge color. // If ``"inherit"``, use take :rc:`axes.edgecolor`. // // mode : {"expand", None} // // If *mode* is set to ``"expand"`` the legend will be horizontally // expanded to fill the axes area (or *bbox_to_anchor* if defines // the legend's size). // // bbox_transform : None or `~matplotlib.transforms.Transform` // // The transform for the bounding box (*bbox_to_anchor*). For a value // of ``None`` (default) the Axes' // :data:`~matplotlib.axes.Axes.transAxes` transform will be used. // // title : str or None // // The legend's title. Default is no title (``None``). // // title_fontproperties : None or `~matplotlib.font_manager.FontProperties` or dict // // The font properties of the legend's title. If None (default), the // *title_fontsize* argument will be used if present; if *title_fontsize* is // also None, the current :rc:`legend.title_fontsize` will be used. // // title_fontsize : int or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}, default: :rc:`legend.title_fontsize` // // The font size of the legend's title. // Note: This cannot be combined with *title_fontproperties*. If you want // to set the fontsize alongside other font properties, use the *size* // parameter in *title_fontproperties*. // // alignment : {'center', 'left', 'right'}, default: 'center' // // The alignment of the legend title and the box of entries. The entries // are aligned as a single block, so that markers always lined up. // // borderpad : float, default: :rc:`legend.borderpad` // // The fractional whitespace inside the legend border, in font-size units. // // labelspacing : float, default: :rc:`legend.labelspacing` // // The vertical space between the legend entries, in font-size units. // // handlelength : float, default: :rc:`legend.handlelength` // // The length of the legend handles, in font-size units. // // handleheight : float, default: :rc:`legend.handleheight` // // The height of the legend handles, in font-size units. // // handletextpad : float, default: :rc:`legend.handletextpad` // // The pad between the legend handle and text, in font-size units. // // borderaxespad : float, default: :rc:`legend.borderaxespad` // // The pad between the axes and legend border, in font-size units. // // columnspacing : float, default: :rc:`legend.columnspacing` // // The spacing between columns, in font-size units. // // handler_map : dict or None // // The custom dictionary mapping instances or types to a legend // handler. This *handler_map* updates the default handler map // found at `matplotlib.legend.Legend.get_legend_handler_map`. // // draggable : bool, default: False // // Whether the legend can be dragged with the mouse. // // See Also // -------- // .Figure.legend // // Notes // ----- // Some artists are not supported by this function. See // :ref:`legend_guide` for details. // // Examples // -------- // .. plot:: gallery/text_labels_and_annotations/legend.py // //go:linkname Legend py.legend func Legend(__llgo_va_list ...interface{}) *py.Object // Control behavior of major tick locators. // // Because the locator is involved in autoscaling, `~.Axes.autoscale_view` // is called automatically after the parameters are changed. // // Parameters // ---------- // axis : {'both', 'x', 'y'}, default: 'both' // // The axis on which to operate. (For 3D Axes, *axis* can also be // set to 'z', and 'both' refers to all three axes.) // // tight : bool or None, optional // // Parameter passed to `~.Axes.autoscale_view`. // Default is None, for no change. // // Other Parameters // ---------------- // **kwargs // // Remaining keyword arguments are passed to directly to the // ``set_params()`` method of the locator. Supported keywords depend // on the type of the locator. See for example // `~.ticker.MaxNLocator.set_params` for the `.ticker.MaxNLocator` // used by default for linear. // // Examples // -------- // When plotting small subplots, one might want to reduce the maximum // number of ticks and use tight bounds, for example:: // // ax.locator_params(tight=True, nbins=4) // //go:linkname LocatorParams py.locator_params func LocatorParams(axis *py.Object, tight *py.Object) *py.Object // Make a plot with log scaling on both the x- and y-axis. // // Call signatures:: // // loglog([x], y, [fmt], data=None, **kwargs) // loglog([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) // // This is just a thin wrapper around `.plot` which additionally changes // both the x-axis and the y-axis to log scaling. All the concepts and // parameters of plot can be used here as well. // // The additional parameters *base*, *subs* and *nonpositive* control the // x/y-axis properties. They are just forwarded to `.Axes.set_xscale` and // `.Axes.set_yscale`. To use different properties on the x-axis and the // y-axis, use e.g. // “ax.set_xscale("log", base=10); ax.set_yscale("log", base=2)“. // // Parameters // ---------- // base : float, default: 10 // // Base of the logarithm. // // subs : sequence, optional // // The location of the minor ticks. If *None*, reasonable locations // are automatically chosen depending on the number of decades in the // plot. See `.Axes.set_xscale`/`.Axes.set_yscale` for details. // // nonpositive : {'mask', 'clip'}, default: 'clip' // // Non-positive values can be masked as invalid, or clipped to a very // small positive number. // // **kwargs // // All parameters supported by `.plot`. // // Returns // ------- // list of `.Line2D` // // Objects representing the plotted data. // //go:linkname Loglog py.loglog func Loglog(__llgo_va_list ...interface{}) *py.Object // Plot the magnitude spectrum. // // Compute the magnitude spectrum of *x*. Data is padded to a // length of *pad_to* and the windowing function *window* is applied to // the signal. // // Parameters // ---------- // x : 1-D array or sequence // // Array or sequence containing the data. // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. While not increasing the actual resolution of the spectrum (the // minimum distance between resolvable peaks), this can give more points in // the plot, allowing for more detail. This corresponds to the *n* parameter // in the call to `~numpy.fft.fft`. The default is None, which sets *pad_to* // equal to the length of the input signal (i.e. no padding). // // scale : {'default', 'linear', 'dB'} // // The scaling of the values in the *spec*. 'linear' is no scaling. // 'dB' returns the values in dB scale, i.e., the dB amplitude // (20 * log10). 'default' is 'linear'. // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // Returns // ------- // spectrum : 1-D array // // The values for the magnitude spectrum before scaling (real valued). // // freqs : 1-D array // // The frequencies corresponding to the elements in *spectrum*. // // line : `~matplotlib.lines.Line2D` // // The line created by this function. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // psd // // Plots the power spectral density. // // angle_spectrum // // Plots the angles of the corresponding frequencies. // // phase_spectrum // // Plots the phase (unwrapped angle) of the corresponding frequencies. // // specgram // // Can plot the magnitude spectrum of segments within the signal in a // colormap. // //go:linkname MagnitudeSpectrum py.magnitude_spectrum func MagnitudeSpectrum(x *py.Object, Fs *py.Object, Fc *py.Object, window *py.Object, padTo *py.Object, sides *py.Object, scale *py.Object) *py.Object // Set or retrieve autoscaling margins. // // The padding added to each limit of the Axes is the *margin* // times the data interval. All input parameters must be floats // greater than -0.5. Passing both positional and keyword // arguments is invalid and will raise a TypeError. If no // arguments (positional or otherwise) are provided, the current // margins will remain unchanged and simply be returned. // // Specifying any margin changes only the autoscaling; for example, // if *xmargin* is not None, then *xmargin* times the X data // interval will be added to each end of that interval before // it is used in autoscaling. // // Parameters // ---------- // *margins : float, optional // // If a single positional argument is provided, it specifies // both margins of the x-axis and y-axis limits. If two // positional arguments are provided, they will be interpreted // as *xmargin*, *ymargin*. If setting the margin on a single // axis is desired, use the keyword arguments described below. // // x, y : float, optional // // Specific margin values for the x-axis and y-axis, // respectively. These cannot be used with positional // arguments, but can be used individually to alter on e.g., // only the y-axis. // // tight : bool or None, default: True // // The *tight* parameter is passed to `~.axes.Axes.autoscale_view`, // which is executed after a margin is changed; the default // here is *True*, on the assumption that when margins are // specified, no additional padding to match tick marks is // usually desired. Setting *tight* to *None* preserves // the previous setting. // // Returns // ------- // xmargin, ymargin : float // // Notes // ----- // If a previously used Axes method such as :meth:`pcolor` has set // :attr:`use_sticky_edges` to `True`, only the limits not set by // the "sticky artists" will be modified. To force all of the // margins to be set, set :attr:`use_sticky_edges` to `False` // before calling :meth:`margins`. // //go:linkname Margins py.margins func Margins(__llgo_va_list ...interface{}) *py.Object // Remove minor ticks from the Axes. // //go:linkname MinorticksOff py.minorticks_off func MinorticksOff() *py.Object // Display minor ticks on the Axes. // // Displaying minor ticks may reduce performance; you may turn them off // using `minorticks_off()` if drawing speed is a problem. // //go:linkname MinorticksOn py.minorticks_on func MinorticksOn() *py.Object // Create a pseudocolor plot with a non-regular rectangular grid. // // Call signature:: // // pcolor([X, Y,] C, **kwargs) // // *X* and *Y* can be used to specify the corners of the quadrilaterals. // // .. hint:: // // ``pcolor()`` can be very slow for large arrays. In most // cases you should use the similar but much faster // `~.Axes.pcolormesh` instead. See // :ref:`Differences between pcolor() and pcolormesh() // ` for a discussion of the // differences. // // Parameters // ---------- // C : 2D array-like // // The color-mapped values. Color-mapping is controlled by *cmap*, // *norm*, *vmin*, and *vmax*. // // X, Y : array-like, optional // // The coordinates of the corners of quadrilaterals of a pcolormesh:: // // (X[i+1, j], Y[i+1, j]) (X[i+1, j+1], Y[i+1, j+1]) // ●╶───╴● // │ │ // ●╶───╴● // (X[i, j], Y[i, j]) (X[i, j+1], Y[i, j+1]) // // Note that the column index corresponds to the x-coordinate, and // the row index corresponds to y. For details, see the // :ref:`Notes ` section below. // // If ``shading='flat'`` the dimensions of *X* and *Y* should be one // greater than those of *C*, and the quadrilateral is colored due // to the value at ``C[i, j]``. If *X*, *Y* and *C* have equal // dimensions, a warning will be raised and the last row and column // of *C* will be ignored. // // If ``shading='nearest'``, the dimensions of *X* and *Y* should be // the same as those of *C* (if not, a ValueError will be raised). The // color ``C[i, j]`` will be centered on ``(X[i, j], Y[i, j])``. // // If *X* and/or *Y* are 1-D arrays or column vectors they will be // expanded as needed into the appropriate 2D arrays, making a // rectangular grid. // // shading : {'flat', 'nearest', 'auto'}, default: :rc:`pcolor.shading` // // The fill style for the quadrilateral. Possible values: // // - 'flat': A solid color is used for each quad. The color of the // quad (i, j), (i+1, j), (i, j+1), (i+1, j+1) is given by // ``C[i, j]``. The dimensions of *X* and *Y* should be // one greater than those of *C*; if they are the same as *C*, // then a deprecation warning is raised, and the last row // and column of *C* are dropped. // - 'nearest': Each grid point will have a color centered on it, // extending halfway between the adjacent grid centers. The // dimensions of *X* and *Y* must be the same as *C*. // - 'auto': Choose 'flat' if dimensions of *X* and *Y* are one // larger than *C*. Choose 'nearest' if dimensions are the same. // // See :doc:`/gallery/images_contours_and_fields/pcolormesh_grids` // for more description. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // edgecolors : {'none', None, 'face', color, color sequence}, optional // // The color of the edges. Defaults to 'none'. Possible values: // // - 'none' or '': No edge. // - *None*: :rc:`patch.edgecolor` will be used. Note that currently // :rc:`patch.force_edgecolor` has to be True for this to work. // - 'face': Use the adjacent face color. // - A color or sequence of colors will set the edge color. // // The singular form *edgecolor* works as an alias. // // alpha : float, default: None // // The alpha blending value of the face color, between 0 (transparent) // and 1 (opaque). Note: The edgecolor is currently not affected by // this. // // snap : bool, default: False // // Whether to snap the mesh to pixel boundaries. // // Returns // ------- // `matplotlib.collections.PolyQuadMesh` // // Other Parameters // ---------------- // antialiaseds : bool, default: False // // The default *antialiaseds* is False if the default // *edgecolors*\ ="none" is used. This eliminates artificial lines // at patch boundaries, and works regardless of the value of alpha. // If *edgecolors* is not "none", then the default *antialiaseds* // is taken from :rc:`patch.antialiased`. // Stroking the edges may be preferred if *alpha* is 1, but will // cause artifacts otherwise. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs // // Additionally, the following arguments are allowed. They are passed // along to the `~matplotlib.collections.PolyQuadMesh` constructor: // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // // See Also // -------- // pcolormesh : for an explanation of the differences between // // pcolor and pcolormesh. // // imshow : If *X* and *Y* are each equidistant, `~.Axes.imshow` can be a // // faster alternative. // // Notes // ----- // **Masked arrays** // // *X*, *Y* and *C* may be masked arrays. If either “C[i, j]“, or one // of the vertices surrounding “C[i, j]“ (*X* or *Y* at // “[i, j], [i+1, j], [i, j+1], [i+1, j+1]“) is masked, nothing is // plotted. // // .. _axes-pcolor-grid-orientation: // // **Grid orientation** // // The grid orientation follows the standard matrix convention: An array // *C* with shape (nrows, ncolumns) is plotted with the column number as // *X* and the row number as *Y*. // //go:linkname Pcolor py.pcolor func Pcolor(__llgo_va_list ...interface{}) *py.Object // Create a pseudocolor plot with a non-regular rectangular grid. // // Call signature:: // // pcolormesh([X, Y,] C, **kwargs) // // *X* and *Y* can be used to specify the corners of the quadrilaterals. // // .. hint:: // // `~.Axes.pcolormesh` is similar to `~.Axes.pcolor`. It is much faster // and preferred in most cases. For a detailed discussion on the // differences see :ref:`Differences between pcolor() and pcolormesh() // `. // // Parameters // ---------- // C : array-like // // The mesh data. Supported array shapes are: // // - (M, N) or M*N: a mesh with scalar data. The values are mapped to // colors using normalization and a colormap. See parameters *norm*, // *cmap*, *vmin*, *vmax*. // - (M, N, 3): an image with RGB values (0-1 float or 0-255 int). // - (M, N, 4): an image with RGBA values (0-1 float or 0-255 int), // i.e. including transparency. // // The first two dimensions (M, N) define the rows and columns of // the mesh data. // // X, Y : array-like, optional // // The coordinates of the corners of quadrilaterals of a pcolormesh:: // // (X[i+1, j], Y[i+1, j]) (X[i+1, j+1], Y[i+1, j+1]) // ●╶───╴● // │ │ // ●╶───╴● // (X[i, j], Y[i, j]) (X[i, j+1], Y[i, j+1]) // // Note that the column index corresponds to the x-coordinate, and // the row index corresponds to y. For details, see the // :ref:`Notes ` section below. // // If ``shading='flat'`` the dimensions of *X* and *Y* should be one // greater than those of *C*, and the quadrilateral is colored due // to the value at ``C[i, j]``. If *X*, *Y* and *C* have equal // dimensions, a warning will be raised and the last row and column // of *C* will be ignored. // // If ``shading='nearest'`` or ``'gouraud'``, the dimensions of *X* // and *Y* should be the same as those of *C* (if not, a ValueError // will be raised). For ``'nearest'`` the color ``C[i, j]`` is // centered on ``(X[i, j], Y[i, j])``. For ``'gouraud'``, a smooth // interpolation is caried out between the quadrilateral corners. // // If *X* and/or *Y* are 1-D arrays or column vectors they will be // expanded as needed into the appropriate 2D arrays, making a // rectangular grid. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // edgecolors : {'none', None, 'face', color, color sequence}, optional // // The color of the edges. Defaults to 'none'. Possible values: // // - 'none' or '': No edge. // - *None*: :rc:`patch.edgecolor` will be used. Note that currently // :rc:`patch.force_edgecolor` has to be True for this to work. // - 'face': Use the adjacent face color. // - A color or sequence of colors will set the edge color. // // The singular form *edgecolor* works as an alias. // // alpha : float, default: None // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // shading : {'flat', 'nearest', 'gouraud', 'auto'}, optional // // The fill style for the quadrilateral; defaults to // :rc:`pcolor.shading`. Possible values: // // - 'flat': A solid color is used for each quad. The color of the // quad (i, j), (i+1, j), (i, j+1), (i+1, j+1) is given by // ``C[i, j]``. The dimensions of *X* and *Y* should be // one greater than those of *C*; if they are the same as *C*, // then a deprecation warning is raised, and the last row // and column of *C* are dropped. // - 'nearest': Each grid point will have a color centered on it, // extending halfway between the adjacent grid centers. The // dimensions of *X* and *Y* must be the same as *C*. // - 'gouraud': Each quad will be Gouraud shaded: The color of the // corners (i', j') are given by ``C[i', j']``. The color values of // the area in between is interpolated from the corner values. // The dimensions of *X* and *Y* must be the same as *C*. When // Gouraud shading is used, *edgecolors* is ignored. // - 'auto': Choose 'flat' if dimensions of *X* and *Y* are one // larger than *C*. Choose 'nearest' if dimensions are the same. // // See :doc:`/gallery/images_contours_and_fields/pcolormesh_grids` // for more description. // // snap : bool, default: False // // Whether to snap the mesh to pixel boundaries. // // rasterized : bool, optional // // Rasterize the pcolormesh when drawing vector graphics. This can // speed up rendering and produce smaller files for large data sets. // See also :doc:`/gallery/misc/rasterization_demo`. // // Returns // ------- // `matplotlib.collections.QuadMesh` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs // // Additionally, the following arguments are allowed. They are passed // along to the `~matplotlib.collections.QuadMesh` constructor: // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // visible: bool // zorder: float // // See Also // -------- // pcolor : An alternative implementation with slightly different // // features. For a detailed discussion on the differences see // :ref:`Differences between pcolor() and pcolormesh() // `. // // imshow : If *X* and *Y* are each equidistant, `~.Axes.imshow` can be a // // faster alternative. // // Notes // ----- // **Masked arrays** // // *C* may be a masked array. If “C[i, j]“ is masked, the corresponding // quadrilateral will be transparent. Masking of *X* and *Y* is not // supported. Use `~.Axes.pcolor` if you need this functionality. // // .. _axes-pcolormesh-grid-orientation: // // **Grid orientation** // // The grid orientation follows the standard matrix convention: An array // *C* with shape (nrows, ncolumns) is plotted with the column number as // *X* and the row number as *Y*. // // .. _differences-pcolor-pcolormesh: // // **Differences between pcolor() and pcolormesh()** // // Both methods are used to create a pseudocolor plot of a 2D array // using quadrilaterals. // // The main difference lies in the created object and internal data // handling: // While `~.Axes.pcolor` returns a `.PolyQuadMesh`, `~.Axes.pcolormesh` // returns a `.QuadMesh`. The latter is more specialized for the given // purpose and thus is faster. It should almost always be preferred. // // There is also a slight difference in the handling of masked arrays. // Both `~.Axes.pcolor` and `~.Axes.pcolormesh` support masked arrays // for *C*. However, only `~.Axes.pcolor` supports masked arrays for *X* // and *Y*. The reason lies in the internal handling of the masked values. // `~.Axes.pcolor` leaves out the respective polygons from the // PolyQuadMesh. `~.Axes.pcolormesh` sets the facecolor of the masked // elements to transparent. You can see the difference when using // edgecolors. While all edges are drawn irrespective of masking in a // QuadMesh, the edge between two adjacent masked quadrilaterals in // `~.Axes.pcolor` is not drawn as the corresponding polygons do not // exist in the PolyQuadMesh. Because PolyQuadMesh draws each individual // polygon, it also supports applying hatches and linestyles to the collection. // // Another difference is the support of Gouraud shading in // `~.Axes.pcolormesh`, which is not available with `~.Axes.pcolor`. // //go:linkname Pcolormesh py.pcolormesh func Pcolormesh(__llgo_va_list ...interface{}) *py.Object // Plot the phase spectrum. // // Compute the phase spectrum (unwrapped angle spectrum) of *x*. // Data is padded to a length of *pad_to* and the windowing function // *window* is applied to the signal. // // Parameters // ---------- // x : 1-D array or sequence // // Array or sequence containing the data // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. While not increasing the actual resolution of the spectrum (the // minimum distance between resolvable peaks), this can give more points in // the plot, allowing for more detail. This corresponds to the *n* parameter // in the call to `~numpy.fft.fft`. The default is None, which sets *pad_to* // equal to the length of the input signal (i.e. no padding). // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // Returns // ------- // spectrum : 1-D array // // The values for the phase spectrum in radians (real valued). // // freqs : 1-D array // // The frequencies corresponding to the elements in *spectrum*. // // line : `~matplotlib.lines.Line2D` // // The line created by this function. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // magnitude_spectrum // // Plots the magnitudes of the corresponding frequencies. // // angle_spectrum // // Plots the wrapped version of this function. // // specgram // // Can plot the phase spectrum of segments within the signal in a // colormap. // //go:linkname PhaseSpectrum py.phase_spectrum func PhaseSpectrum(x *py.Object, Fs *py.Object, Fc *py.Object, window *py.Object, padTo *py.Object, sides *py.Object) *py.Object // Plot a pie chart. // // Make a pie chart of array *x*. The fractional area of each wedge is // given by “x/sum(x)“. // // The wedges are plotted counterclockwise, by default starting from the // x-axis. // // Parameters // ---------- // x : 1D array-like // // The wedge sizes. // // explode : array-like, default: None // // If not *None*, is a ``len(x)`` array which specifies the fraction // of the radius with which to offset each wedge. // // labels : list, default: None // // A sequence of strings providing the labels for each wedge // // colors : color or array-like of color, default: None // // A sequence of colors through which the pie chart will cycle. If // *None*, will use the colors in the currently active cycle. // // hatch : str or list, default: None // // Hatching pattern applied to all pie wedges or sequence of patterns // through which the chart will cycle. For a list of valid patterns, // see :doc:`/gallery/shapes_and_collections/hatch_style_reference`. // // .. versionadded:: 3.7 // // autopct : None or str or callable, default: None // // If not *None*, *autopct* is a string or function used to label the // wedges with their numeric value. The label will be placed inside // the wedge. If *autopct* is a format string, the label will be // ``fmt % pct``. If *autopct* is a function, then it will be called. // // pctdistance : float, default: 0.6 // // The relative distance along the radius at which the text // generated by *autopct* is drawn. To draw the text outside the pie, // set *pctdistance* > 1. This parameter is ignored if *autopct* is // ``None``. // // labeldistance : float or None, default: 1.1 // // The relative distance along the radius at which the labels are // drawn. To draw the labels inside the pie, set *labeldistance* < 1. // If set to ``None``, labels are not drawn but are still stored for // use in `.legend`. // // shadow : bool or dict, default: False // // If bool, whether to draw a shadow beneath the pie. If dict, draw a shadow // passing the properties in the dict to `.Shadow`. // // .. versionadded:: 3.8 // *shadow* can be a dict. // // startangle : float, default: 0 degrees // // The angle by which the start of the pie is rotated, // counterclockwise from the x-axis. // // radius : float, default: 1 // // The radius of the pie. // // counterclock : bool, default: True // // Specify fractions direction, clockwise or counterclockwise. // // wedgeprops : dict, default: None // // Dict of arguments passed to each `.patches.Wedge` of the pie. // For example, ``wedgeprops = {'linewidth': 3}`` sets the width of // the wedge border lines equal to 3. By default, ``clip_on=False``. // When there is a conflict between these properties and other // keywords, properties passed to *wedgeprops* take precedence. // // textprops : dict, default: None // // Dict of arguments to pass to the text objects. // // center : (float, float), default: (0, 0) // // The coordinates of the center of the chart. // // frame : bool, default: False // // Plot Axes frame with the chart if true. // // rotatelabels : bool, default: False // // Rotate each label to the angle of the corresponding slice if true. // // normalize : bool, default: True // // When *True*, always make a full pie by normalizing x so that // ``sum(x) == 1``. *False* makes a partial pie if ``sum(x) <= 1`` // and raises a `ValueError` for ``sum(x) > 1``. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *explode*, *labels*, *colors* // // Returns // ------- // patches : list // // A sequence of `matplotlib.patches.Wedge` instances // // texts : list // // A list of the label `.Text` instances. // // autotexts : list // // A list of `.Text` instances for the numeric labels. This will only // be returned if the parameter *autopct* is not *None*. // // Notes // ----- // The pie chart will probably look best if the figure and Axes are // square, or the Axes aspect is equal. // This method sets the aspect ratio of the axis to "equal". // The Axes aspect ratio can be controlled with `.Axes.set_aspect`. // //go:linkname Pie py.pie func Pie(x *py.Object, explode *py.Object, labels *py.Object, colors *py.Object, autopct *py.Object, pctdistance *py.Object, shadow *py.Object, labeldistance *py.Object, startangle *py.Object, radius *py.Object, counterclock *py.Object, wedgeprops *py.Object, textprops *py.Object, center *py.Object, frame *py.Object, rotatelabels *py.Object) *py.Object // Plot y versus x as lines and/or markers. // // Call signatures:: // // plot([x], y, [fmt], *, data=None, **kwargs) // plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) // // The coordinates of the points or line nodes are given by *x*, *y*. // // The optional parameter *fmt* is a convenient way for defining basic // formatting like color, marker and linestyle. It's a shortcut string // notation described in the *Notes* section below. // // >>> plot(x, y) # plot x and y using default line style and color // >>> plot(x, y, 'bo') # plot x and y using blue circle markers // >>> plot(y) # plot y using x as index array 0..N-1 // >>> plot(y, 'r+') # ditto, but with red plusses // // You can use `.Line2D` properties as keyword arguments for more // control on the appearance. Line properties and *fmt* can be mixed. // The following two calls yield identical results: // // >>> plot(x, y, 'go--', linewidth=2, markersize=12) // >>> plot(x, y, color='green', marker='o', linestyle='dashed', // ... linewidth=2, markersize=12) // // When conflicting with *fmt*, keyword arguments take precedence. // // **Plotting labelled data** // // There's a convenient way for plotting objects with labelled data (i.e. // data that can be accessed by index “obj['y']“). Instead of giving // the data in *x* and *y*, you can provide the object in the *data* // parameter and just give the labels for *x* and *y*:: // // >>> plot('xlabel', 'ylabel', data=obj) // // All indexable objects are supported. This could e.g. be a `dict`, a // `pandas.DataFrame` or a structured numpy array. // // **Plotting multiple sets of data** // // There are various ways to plot multiple sets of data. // // - The most straight forward way is just to call `plot` multiple times. // Example: // // >>> plot(x1, y1, 'bo') // >>> plot(x2, y2, 'go') // // - If *x* and/or *y* are 2D arrays a separate data set will be drawn // for every column. If both *x* and *y* are 2D, they must have the // same shape. If only one of them is 2D with shape (N, m) the other // must have length N and will be used for every data set m. // // Example: // // >>> x = [1, 2, 3] // >>> y = np.array([[1, 2], [3, 4], [5, 6]]) // >>> plot(x, y) // // is equivalent to: // // >>> for col in range(y.shape[1]): // ... plot(x, y[:, col]) // // - The third way is to specify multiple sets of *[x]*, *y*, *[fmt]* // groups:: // // >>> plot(x1, y1, 'g^', x2, y2, 'g-') // // In this case, any additional keyword argument applies to all // datasets. Also, this syntax cannot be combined with the *data* // parameter. // // By default, each line is assigned a different style specified by a // 'style cycle'. The *fmt* and line property parameters are only // necessary if you want explicit deviations from these defaults. // Alternatively, you can also change the style cycle using // :rc:`axes.prop_cycle`. // // Parameters // ---------- // x, y : array-like or scalar // // The horizontal / vertical coordinates of the data points. // *x* values are optional and default to ``range(len(y))``. // // Commonly, these parameters are 1D arrays. // // They can also be scalars, or two-dimensional (in that case, the // columns represent separate data sets). // // These arguments cannot be passed as keywords. // // fmt : str, optional // // A format string, e.g. 'ro' for red circles. See the *Notes* // section for a full description of the format strings. // // Format strings are just an abbreviation for quickly setting // basic line properties. All of these and more can also be // controlled by keyword arguments. // // This argument cannot be passed as keyword. // // data : indexable object, optional // // An object with labelled data. If given, provide the label names to // plot in *x* and *y*. // // .. note:: // Technically there's a slight ambiguity in calls where the // second label is a valid *fmt*. ``plot('n', 'o', data=obj)`` // could be ``plt(x, y)`` or ``plt(y, fmt)``. In such cases, // the former interpretation is chosen, but a warning is issued. // You may suppress the warning by adding an empty format string // ``plot('n', 'o', '', data=obj)``. // // Returns // ------- // list of `.Line2D` // // A list of lines representing the plotted data. // // Other Parameters // ---------------- // scalex, scaley : bool, default: True // // These parameters determine if the view limits are adapted to the // data limits. The values are passed on to // `~.axes.Axes.autoscale_view`. // // **kwargs : `~matplotlib.lines.Line2D` properties, optional // // *kwargs* are used to specify properties like a line label (for // auto legends), linewidth, antialiasing, marker face color. // Example:: // // >>> plot([1, 2, 3], [1, 2, 3], 'go-', label='line 1', linewidth=2) // >>> plot([1, 2, 3], [1, 4, 9], 'rs', label='line 2') // // If you specify multiple lines with one plot call, the kwargs apply // to all those lines. In case the label object is iterable, each // element is used as labels for each set of data. // // Here is a list of available `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // scatter : XY scatter plot with markers of varying size and/or color ( // // sometimes also called bubble chart). // // Notes // ----- // **Format Strings** // // A format string consists of a part for color, marker and line:: // // fmt = '[marker][line][color]' // // Each of them is optional. If not provided, the value from the style // cycle is used. Exception: If “line“ is given, but no “marker“, // the data will be a line without markers. // // Other combinations such as “[color][marker][line]“ are also // supported, but note that their parsing may be ambiguous. // // **Markers** // // ============= =============================== // character description // ============= =============================== // “'.'“ point marker // “','“ pixel marker // “'o'“ circle marker // “'v'“ triangle_down marker // “'^'“ triangle_up marker // “'<'“ triangle_left marker // “'>'“ triangle_right marker // “'1'“ tri_down marker // “'2'“ tri_up marker // “'3'“ tri_left marker // “'4'“ tri_right marker // “'8'“ octagon marker // “'s'“ square marker // “'p'“ pentagon marker // “'P'“ plus (filled) marker // “'*'“ star marker // “'h'“ hexagon1 marker // “'H'“ hexagon2 marker // “'+'“ plus marker // “'x'“ x marker // “'X'“ x (filled) marker // “'D'“ diamond marker // “'d'“ thin_diamond marker // “'|'“ vline marker // “'_'“ hline marker // ============= =============================== // // **Line Styles** // // ============= =============================== // character description // ============= =============================== // “'-'“ solid line style // “'--'“ dashed line style // “'-.'“ dash-dot line style // “':'“ dotted line style // ============= =============================== // // Example format strings:: // // 'b' # blue markers with default shape // 'or' # red circles // '-g' # green solid line // '--' # dashed line with default color // '^k:' # black triangle_up markers connected by a dotted line // // **Colors** // // # The supported color abbreviations are the single letter codes // // ============= =============================== // character color // ============= =============================== // “'b'“ blue // “'g'“ green // “'r'“ red // “'c'“ cyan // “'m'“ magenta // “'y'“ yellow // “'k'“ black // “'w'“ white // ============= =============================== // // and the “'CN'“ colors that index into the default property cycle. // // If the color is the only part of the format string, you can // additionally use any `matplotlib.colors` spec, e.g. full names // (“'green'“) or hex strings (“'#008000'“). // //go:linkname Plot py.plot func Plot(__llgo_va_list ...interface{}) *py.Object // [*Discouraged*] Plot coercing the axis to treat floats as dates. // // .. admonition:: Discouraged // // This method exists for historic reasons and will be deprecated in // the future. // // - ``datetime``-like data should directly be plotted using // `~.Axes.plot`. // - If you need to plot plain numeric data as :ref:`date-format` or // need to set a timezone, call ``ax.xaxis.axis_date`` / // ``ax.yaxis.axis_date`` before `~.Axes.plot`. See // `.Axis.axis_date`. // // Similar to `.plot`, this plots *y* vs. *x* as lines or markers. // However, the axis labels are formatted as dates depending on *xdate* // and *ydate*. Note that `.plot` will work with `datetime` and // `numpy.datetime64` objects without resorting to this method. // // Parameters // ---------- // x, y : array-like // // The coordinates of the data points. If *xdate* or *ydate* is // *True*, the respective values *x* or *y* are interpreted as // :ref:`Matplotlib dates `. // // fmt : str, optional // // The plot format string. For details, see the corresponding // parameter in `.plot`. // // tz : timezone string or `datetime.tzinfo`, default: :rc:`timezone` // // The time zone to use in labeling dates. // // xdate : bool, default: True // // If *True*, the *x*-axis will be interpreted as Matplotlib dates. // // ydate : bool, default: False // // If *True*, the *y*-axis will be interpreted as Matplotlib dates. // // Returns // ------- // list of `.Line2D` // // Objects representing the plotted data. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // matplotlib.dates : Helper functions on dates. // matplotlib.dates.date2num : Convert dates to num. // matplotlib.dates.num2date : Convert num to dates. // matplotlib.dates.drange : Create an equally spaced sequence of dates. // // Notes // ----- // If you are using custom date tickers and formatters, it may be // necessary to set the formatters/locators after the call to // `.plot_date`. `.plot_date` will set the default tick locator to // `.AutoDateLocator` (if the tick locator is not already set to a // `.DateLocator` instance) and the default tick formatter to // `.AutoDateFormatter` (if the tick formatter is not already set to a // `.DateFormatter` instance). // //go:linkname PlotDate py.plot_date func PlotDate(x *py.Object, y *py.Object, fmt *py.Object, tz *py.Object, xdate *py.Object, ydate *py.Object) *py.Object // Plot the power spectral density. // // The power spectral density :math:`P_{xx}` by Welch's average // periodogram method. The vector *x* is divided into *NFFT* length // segments. Each segment is detrended by function *detrend* and // windowed by function *window*. *noverlap* gives the length of // the overlap between segments. The :math:`|\mathrm{fft}(i)|^2` // of each segment :math:`i` are averaged to compute :math:`P_{xx}`, // with a scaling to correct for power loss due to windowing. // // If len(*x*) < *NFFT*, it will be zero padded to *NFFT*. // // Parameters // ---------- // x : 1-D array or sequence // // Array or sequence containing the data // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. This can be different from *NFFT*, which specifies the number // of data points used. While not increasing the actual resolution of the // spectrum (the minimum distance between resolvable peaks), this can give // more points in the plot, allowing for more detail. This corresponds to // the *n* parameter in the call to `~numpy.fft.fft`. The default is None, // which sets *pad_to* equal to *NFFT* // // NFFT : int, default: 256 // // The number of data points used in each block for the FFT. A power 2 is // most efficient. This should *NOT* be used to get zero padding, or the // scaling of the result will be incorrect; use *pad_to* for this instead. // // detrend : {'none', 'mean', 'linear'} or callable, default: 'none' // // The function applied to each segment before fft-ing, designed to remove // the mean or linear trend. Unlike in MATLAB, where the *detrend* parameter // is a vector, in Matplotlib it is a function. The :mod:`~matplotlib.mlab` // module defines `.detrend_none`, `.detrend_mean`, and `.detrend_linear`, // but you can use a custom function as well. You can also use a string to // choose one of the functions: 'none' calls `.detrend_none`. 'mean' calls // `.detrend_mean`. 'linear' calls `.detrend_linear`. // // scale_by_freq : bool, default: True // // Whether the resulting density values should be scaled by the scaling // frequency, which gives density in units of 1/Hz. This allows for // integration over the returned frequency values. The default is True for // MATLAB compatibility. // // noverlap : int, default: 0 (no overlap) // // The number of points of overlap between segments. // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // return_line : bool, default: False // // Whether to include the line object plotted in the returned values. // // Returns // ------- // Pxx : 1-D array // // The values for the power spectrum :math:`P_{xx}` before scaling // (real valued). // // freqs : 1-D array // // The frequencies corresponding to the elements in *Pxx*. // // line : `~matplotlib.lines.Line2D` // // The line created by this function. // Only returned if *return_line* is True. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Keyword arguments control the `.Line2D` properties: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // // See Also // -------- // specgram // // Differs in the default overlap; in not returning the mean of the // segment periodograms; in returning the times of the segments; and // in plotting a colormap instead of a line. // // magnitude_spectrum // // Plots the magnitude spectrum. // // csd // // Plots the spectral density between two signals. // // Notes // ----- // For plotting, the power is plotted as // :math:`10\log_{10}(P_{xx})` for decibels, though *Pxx* itself // is returned. // // References // ---------- // Bendat & Piersol -- Random Data: Analysis and Measurement Procedures, // John Wiley & Sons (1986) // //go:linkname Psd py.psd func Psd(x *py.Object, NFFT *py.Object, Fs *py.Object, Fc *py.Object, detrend *py.Object, window *py.Object, noverlap *py.Object, padTo *py.Object, sides *py.Object, scaleByFreq *py.Object, returnLine *py.Object) *py.Object // Plot a 2D field of arrows. // // Call signature:: // // quiver([X, Y], U, V, [C], **kwargs) // // *X*, *Y* define the arrow locations, *U*, *V* define the arrow directions, and // *C* optionally sets the color. // // **Arrow length** // // The default settings auto-scales the length of the arrows to a reasonable size. // To change this behavior see the *scale* and *scale_units* parameters. // // **Arrow shape** // // The arrow shape is determined by *width*, *headwidth*, *headlength* and // *headaxislength*. See the notes below. // // **Arrow styling** // // Each arrow is internally represented by a filled polygon with a default edge // linewidth of 0. As a result, an arrow is rather a filled area, not a line with // a head, and `.PolyCollection` properties like *linewidth*, *edgecolor*, // *facecolor*, etc. act accordingly. // // Parameters // ---------- // X, Y : 1D or 2D array-like, optional // // The x and y coordinates of the arrow locations. // // If not given, they will be generated as a uniform integer meshgrid based // on the dimensions of *U* and *V*. // // If *X* and *Y* are 1D but *U*, *V* are 2D, *X*, *Y* are expanded to 2D // using ``X, Y = np.meshgrid(X, Y)``. In this case ``len(X)`` and ``len(Y)`` // must match the column and row dimensions of *U* and *V*. // // U, V : 1D or 2D array-like // // The x and y direction components of the arrow vectors. The interpretation // of these components (in data or in screen space) depends on *angles*. // // *U* and *V* must have the same number of elements, matching the number of // arrow locations in *X*, *Y*. *U* and *V* may be masked. Locations masked // in any of *U*, *V*, and *C* will not be drawn. // // C : 1D or 2D array-like, optional // // Numeric data that defines the arrow colors by colormapping via *norm* and // *cmap*. // // This does not support explicit colors. If you want to set colors directly, // use *color* instead. The size of *C* must match the number of arrow // locations. // // angles : {'uv', 'xy'} or array-like, default: 'uv' // // Method for determining the angle of the arrows. // // - 'uv': Arrow direction in screen coordinates. Use this if the arrows // symbolize a quantity that is not based on *X*, *Y* data coordinates. // // If *U* == *V* the orientation of the arrow on the plot is 45 degrees // counter-clockwise from the horizontal axis (positive to the right). // // - 'xy': Arrow direction in data coordinates, i.e. the arrows point from // (x, y) to (x+u, y+v). Use this e.g. for plotting a gradient field. // // - Arbitrary angles may be specified explicitly as an array of values // in degrees, counter-clockwise from the horizontal axis. // // In this case *U*, *V* is only used to determine the length of the // arrows. // // Note: inverting a data axis will correspondingly invert the // arrows only with ``angles='xy'``. // // pivot : {'tail', 'mid', 'middle', 'tip'}, default: 'tail' // // The part of the arrow that is anchored to the *X*, *Y* grid. The arrow // rotates about this point. // // 'mid' is a synonym for 'middle'. // // scale : float, optional // // Scales the length of the arrow inversely. // // Number of data units per arrow length unit, e.g., m/s per plot width; a // smaller scale parameter makes the arrow longer. Default is *None*. // // If *None*, a simple autoscaling algorithm is used, based on the average // vector length and the number of vectors. The arrow length unit is given by // the *scale_units* parameter. // // scale_units : {'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, optional // // If the *scale* kwarg is *None*, the arrow length unit. Default is *None*. // // e.g. *scale_units* is 'inches', *scale* is 2.0, and ``(u, v) = (1, 0)``, // then the vector will be 0.5 inches long. // // If *scale_units* is 'width' or 'height', then the vector will be half the // width/height of the axes. // // If *scale_units* is 'x' then the vector will be 0.5 x-axis // units. To plot vectors in the x-y plane, with u and v having // the same units as x and y, use // ``angles='xy', scale_units='xy', scale=1``. // // units : {'width', 'height', 'dots', 'inches', 'x', 'y', 'xy'}, default: 'width' // // Affects the arrow size (except for the length). In particular, the shaft // *width* is measured in multiples of this unit. // // Supported values are: // // - 'width', 'height': The width or height of the Axes. // - 'dots', 'inches': Pixels or inches based on the figure dpi. // - 'x', 'y', 'xy': *X*, *Y* or :math:`\sqrt{X^2 + Y^2}` in data units. // // The following table summarizes how these values affect the visible arrow // size under zooming and figure size changes: // // ================= ================= ================== // units zoom figure size change // ================= ================= ================== // 'x', 'y', 'xy' arrow size scales — // 'width', 'height' — arrow size scales // 'dots', 'inches' — — // ================= ================= ================== // // width : float, optional // // Shaft width in arrow units. All head parameters are relative to *width*. // // The default depends on choice of *units* above, and number of vectors; // a typical starting value is about 0.005 times the width of the plot. // // headwidth : float, default: 3 // // Head width as multiple of shaft *width*. See the notes below. // // headlength : float, default: 5 // // Head length as multiple of shaft *width*. See the notes below. // // headaxislength : float, default: 4.5 // // Head length at shaft intersection as multiple of shaft *width*. // See the notes below. // // minshaft : float, default: 1 // // Length below which arrow scales, in units of head length. Do not // set this to less than 1, or small arrows will look terrible! // // minlength : float, default: 1 // // Minimum length as a multiple of shaft width; if an arrow length // is less than this, plot a dot (hexagon) of this diameter instead. // // color : color or color sequence, optional // // Explicit color(s) for the arrows. If *C* has been set, *color* has no // effect. // // This is a synonym for the `.PolyCollection` *facecolor* parameter. // // Other Parameters // ---------------- // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs : `~matplotlib.collections.PolyCollection` properties, optional // // All other keyword arguments are passed on to `.PolyCollection`: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: array-like or scalar or None // animated: bool // antialiased or aa or antialiaseds: bool or list of bools // array: array-like or None // capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // clim: (vmin: float, vmax: float) // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // cmap: `.Colormap` or str or None // color: color or list of RGBA tuples // edgecolor or ec or edgecolors: color or list of colors or 'face' // facecolor or facecolors or fc: color or list of colors // figure: `~matplotlib.figure.Figure` // gid: str // hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'} // in_layout: bool // joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // label: object // linestyle or dashes or linestyles or ls: str or tuple or list thereof // linewidth or linewidths or lw: float or list of floats // mouseover: bool // norm: `.Normalize` or str or None // offset_transform or transOffset: `.Transform` // offsets: (N, 2) or (2,) array-like // path_effects: list of `.AbstractPathEffect` // paths: list of array-like // picker: None or bool or float or callable // pickradius: float // rasterized: bool // sizes: `numpy.ndarray` or None // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // urls: list of str or None // verts: list of array-like // verts_and_codes: unknown // visible: bool // zorder: float // // Returns // ------- // `~matplotlib.quiver.Quiver` // // See Also // -------- // .Axes.quiverkey : Add a key to a quiver plot. // // Notes // ----- // // **Arrow shape** // // The arrow is drawn as a polygon using the nodes as shown below. The values // *headwidth*, *headlength*, and *headaxislength* are in units of *width*. // // .. image:: /_static/quiver_sizes.svg // // :width: 500px // // The defaults give a slightly swept-back arrow. Here are some guidelines how to // get other head shapes: // // - To make the head a triangle, make *headaxislength* the same as *headlength*. // - To make the arrow more pointed, reduce *headwidth* or increase *headlength* // and *headaxislength*. // - To make the head smaller relative to the shaft, scale down all the head // parameters proportionally. // - To remove the head completely, set all *head* parameters to 0. // - To get a diamond-shaped head, make *headaxislength* larger than *headlength*. // - Warning: For *headaxislength* < (*headlength* / *headwidth*), the "headaxis" // nodes (i.e. the ones connecting the head with the shaft) will protrude out // of the head in forward direction so that the arrow head looks broken. // //go:linkname Quiver py.quiver func Quiver(__llgo_va_list ...interface{}) *py.Object // Add a key to a quiver plot. // // The positioning of the key depends on *X*, *Y*, *coordinates*, and // *labelpos*. If *labelpos* is 'N' or 'S', *X*, *Y* give the position of // the middle of the key arrow. If *labelpos* is 'E', *X*, *Y* positions // the head, and if *labelpos* is 'W', *X*, *Y* positions the tail; in // either of these two cases, *X*, *Y* is somewhere in the middle of the // arrow+label key object. // // Parameters // ---------- // Q : `~matplotlib.quiver.Quiver` // // A `.Quiver` object as returned by a call to `~.Axes.quiver()`. // // X, Y : float // // The location of the key. // // U : float // // The length of the key. // // label : str // // The key label (e.g., length and units of the key). // // angle : float, default: 0 // // The angle of the key arrow, in degrees anti-clockwise from the // horizontal axis. // // coordinates : {'axes', 'figure', 'data', 'inches'}, default: 'axes' // // Coordinate system and units for *X*, *Y*: 'axes' and 'figure' are // normalized coordinate systems with (0, 0) in the lower left and // (1, 1) in the upper right; 'data' are the axes data coordinates // (used for the locations of the vectors in the quiver plot itself); // 'inches' is position in the figure in inches, with (0, 0) at the // lower left corner. // // color : color // // Overrides face and edge colors from *Q*. // // labelpos : {'N', 'S', 'E', 'W'} // // Position the label above, below, to the right, to the left of the // arrow, respectively. // // labelsep : float, default: 0.1 // // Distance in inches between the arrow and the label. // // labelcolor : color, default: :rc:`text.color` // // Label color. // // fontproperties : dict, optional // // A dictionary with keyword arguments accepted by the // `~matplotlib.font_manager.FontProperties` initializer: // *family*, *style*, *variant*, *size*, *weight*. // // **kwargs // // Any additional keyword arguments are used to override vector // properties taken from *Q*. // //go:linkname Quiverkey py.quiverkey func Quiverkey(Q *py.Object, X *py.Object, Y *py.Object, U *py.Object, label *py.Object) *py.Object // A scatter plot of *y* vs. *x* with varying marker size and/or color. // // Parameters // ---------- // x, y : float or array-like, shape (n, ) // // The data positions. // // s : float or array-like, shape (n, ), optional // // The marker size in points**2 (typographic points are 1/72 in.). // Default is ``rcParams['lines.markersize'] ** 2``. // // The linewidth and edgecolor can visually interact with the marker // size, and can lead to artifacts if the marker size is smaller than // the linewidth. // // If the linewidth is greater than 0 and the edgecolor is anything // but *'none'*, then the effective size of the marker will be // increased by half the linewidth because the stroke will be centered // on the edge of the shape. // // To eliminate the marker edge either set *linewidth=0* or // *edgecolor='none'*. // // c : array-like or list of colors or color, optional // // The marker colors. Possible values: // // - A scalar or sequence of n numbers to be mapped to colors using // *cmap* and *norm*. // - A 2D array in which the rows are RGB or RGBA. // - A sequence of colors of length n. // - A single color format string. // // Note that *c* should not be a single numeric RGB or RGBA sequence // because that is indistinguishable from an array of values to be // colormapped. If you want to specify the same RGB or RGBA value for // all points, use a 2D array with a single row. Otherwise, // value-matching will have precedence in case of a size matching with // *x* and *y*. // // If you wish to specify a single color for all points // prefer the *color* keyword argument. // // Defaults to `None`. In that case the marker color is determined // by the value of *color*, *facecolor* or *facecolors*. In case // those are not specified or `None`, the marker color is determined // by the next color of the ``Axes``' current "shape and fill" color // cycle. This cycle defaults to :rc:`axes.prop_cycle`. // // marker : `~.markers.MarkerStyle`, default: :rc:`scatter.marker` // // The marker style. *marker* can be either an instance of the class // or the text shorthand for a particular marker. // See :mod:`matplotlib.markers` for more information about marker // styles. // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *c* is RGB(A). // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *c* is RGB(A). // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // This parameter is ignored if *c* is RGB(A). // // alpha : float, default: None // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // linewidths : float or array-like, default: :rc:`lines.linewidth` // // The linewidth of the marker edges. Note: The default *edgecolors* // is 'face'. You may want to change this as well. // // edgecolors : {'face', 'none', *None*} or color or sequence of color, default: :rc:`scatter.edgecolors` // // The edge color of the marker. Possible values: // // - 'face': The edge color will always be the same as the face color. // - 'none': No patch boundary will be drawn. // - A color or sequence of colors. // // For non-filled markers, *edgecolors* is ignored. Instead, the color // is determined like with 'face', i.e. from *c*, *colors*, or // *facecolors*. // // plotnonfinite : bool, default: False // // Whether to plot points with nonfinite *c* (i.e. ``inf``, ``-inf`` // or ``nan``). If ``True`` the points are drawn with the *bad* // colormap color (see `.Colormap.set_bad`). // // Returns // ------- // `~matplotlib.collections.PathCollection` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y*, *s*, *linewidths*, *edgecolors*, *c*, *facecolor*, *facecolors*, *color* // // **kwargs : `~matplotlib.collections.Collection` properties // // See Also // -------- // plot : To plot scatter plots when markers are identical in size and // // color. // // Notes // ----- // // - The `.plot` function will be faster for scatterplots where markers // don't vary in size or color. // // - Any or all of *x*, *y*, *s*, and *c* may be masked arrays, in which // case all masks will be combined and only unmasked points will be // plotted. // // - Fundamentally, scatter works with 1D arrays; *x*, *y*, *s*, and *c* // may be input as N-D arrays, but within scatter they will be // flattened. The exception is *c*, which will be flattened only if its // size matches the size of *x* and *y*. // //go:linkname Scatter py.scatter func Scatter(x *py.Object, y *py.Object, s *py.Object, c *py.Object, marker *py.Object, cmap *py.Object, norm *py.Object, vmin *py.Object, vmax *py.Object, alpha *py.Object, linewidths *py.Object) *py.Object // Make a plot with log scaling on the x-axis. // // Call signatures:: // // semilogx([x], y, [fmt], data=None, **kwargs) // semilogx([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) // // This is just a thin wrapper around `.plot` which additionally changes // the x-axis to log scaling. All the concepts and parameters of plot can // be used here as well. // // The additional parameters *base*, *subs*, and *nonpositive* control the // x-axis properties. They are just forwarded to `.Axes.set_xscale`. // // Parameters // ---------- // base : float, default: 10 // // Base of the x logarithm. // // subs : array-like, optional // // The location of the minor xticks. If *None*, reasonable locations // are automatically chosen depending on the number of decades in the // plot. See `.Axes.set_xscale` for details. // // nonpositive : {'mask', 'clip'}, default: 'clip' // // Non-positive values in x can be masked as invalid, or clipped to a // very small positive number. // // **kwargs // // All parameters supported by `.plot`. // // Returns // ------- // list of `.Line2D` // // Objects representing the plotted data. // //go:linkname Semilogx py.semilogx func Semilogx(__llgo_va_list ...interface{}) *py.Object // Make a plot with log scaling on the y-axis. // // Call signatures:: // // semilogy([x], y, [fmt], data=None, **kwargs) // semilogy([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) // // This is just a thin wrapper around `.plot` which additionally changes // the y-axis to log scaling. All the concepts and parameters of plot can // be used here as well. // // The additional parameters *base*, *subs*, and *nonpositive* control the // y-axis properties. They are just forwarded to `.Axes.set_yscale`. // // Parameters // ---------- // base : float, default: 10 // // Base of the y logarithm. // // subs : array-like, optional // // The location of the minor yticks. If *None*, reasonable locations // are automatically chosen depending on the number of decades in the // plot. See `.Axes.set_yscale` for details. // // nonpositive : {'mask', 'clip'}, default: 'clip' // // Non-positive values in y can be masked as invalid, or clipped to a // very small positive number. // // **kwargs // // All parameters supported by `.plot`. // // Returns // ------- // list of `.Line2D` // // Objects representing the plotted data. // //go:linkname Semilogy py.semilogy func Semilogy(__llgo_va_list ...interface{}) *py.Object // Plot a spectrogram. // // Compute and plot a spectrogram of data in *x*. Data are split into // *NFFT* length segments and the spectrum of each section is // computed. The windowing function *window* is applied to each // segment, and the amount of overlap of each segment is // specified with *noverlap*. The spectrogram is plotted as a colormap // (using imshow). // // Parameters // ---------- // x : 1-D array or sequence // // Array or sequence containing the data. // // Fs : float, default: 2 // // The sampling frequency (samples per time unit). It is used to calculate // the Fourier frequencies, *freqs*, in cycles per time unit. // // window : callable or ndarray, default: `.window_hanning` // // A function or a vector of length *NFFT*. To create window vectors see // `.window_hanning`, `.window_none`, `numpy.blackman`, `numpy.hamming`, // `numpy.bartlett`, `scipy.signal`, `scipy.signal.get_window`, etc. If a // function is passed as the argument, it must take a data segment as an // argument and return the windowed version of the segment. // // sides : {'default', 'onesided', 'twosided'}, optional // // Which sides of the spectrum to return. 'default' is one-sided for real // data and two-sided for complex data. 'onesided' forces the return of a // one-sided spectrum, while 'twosided' forces two-sided. // // pad_to : int, optional // // The number of points to which the data segment is padded when performing // the FFT. This can be different from *NFFT*, which specifies the number // of data points used. While not increasing the actual resolution of the // spectrum (the minimum distance between resolvable peaks), this can give // more points in the plot, allowing for more detail. This corresponds to // the *n* parameter in the call to `~numpy.fft.fft`. The default is None, // which sets *pad_to* equal to *NFFT* // // NFFT : int, default: 256 // // The number of data points used in each block for the FFT. A power 2 is // most efficient. This should *NOT* be used to get zero padding, or the // scaling of the result will be incorrect; use *pad_to* for this instead. // // detrend : {'none', 'mean', 'linear'} or callable, default: 'none' // // The function applied to each segment before fft-ing, designed to remove // the mean or linear trend. Unlike in MATLAB, where the *detrend* parameter // is a vector, in Matplotlib it is a function. The :mod:`~matplotlib.mlab` // module defines `.detrend_none`, `.detrend_mean`, and `.detrend_linear`, // but you can use a custom function as well. You can also use a string to // choose one of the functions: 'none' calls `.detrend_none`. 'mean' calls // `.detrend_mean`. 'linear' calls `.detrend_linear`. // // scale_by_freq : bool, default: True // // Whether the resulting density values should be scaled by the scaling // frequency, which gives density in units of 1/Hz. This allows for // integration over the returned frequency values. The default is True for // MATLAB compatibility. // // mode : {'default', 'psd', 'magnitude', 'angle', 'phase'} // // What sort of spectrum to use. Default is 'psd', which takes the // power spectral density. 'magnitude' returns the magnitude // spectrum. 'angle' returns the phase spectrum without unwrapping. // 'phase' returns the phase spectrum with unwrapping. // // noverlap : int, default: 128 // // The number of points of overlap between blocks. // // scale : {'default', 'linear', 'dB'} // // The scaling of the values in the *spec*. 'linear' is no scaling. // 'dB' returns the values in dB scale. When *mode* is 'psd', // this is dB power (10 * log10). Otherwise, this is dB amplitude // (20 * log10). 'default' is 'dB' if *mode* is 'psd' or // 'magnitude' and 'linear' otherwise. This must be 'linear' // if *mode* is 'angle' or 'phase'. // // Fc : int, default: 0 // // The center frequency of *x*, which offsets the x extents of the // plot to reflect the frequency range used when a signal is acquired // and then filtered and downsampled to baseband. // // cmap : `.Colormap`, default: :rc:`image.cmap` // // xextent : *None* or (xmin, xmax) // // The image extent along the x-axis. The default sets *xmin* to the // left border of the first bin (*spectrum* column) and *xmax* to the // right border of the last bin. Note that for *noverlap>0* the width // of the bins is smaller than those of the segments. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x* // // **kwargs // // Additional keyword arguments are passed on to `~.axes.Axes.imshow` // which makes the specgram image. The origin keyword argument // is not supported. // // Returns // ------- // spectrum : 2D array // // Columns are the periodograms of successive segments. // // freqs : 1-D array // // The frequencies corresponding to the rows in *spectrum*. // // t : 1-D array // // The times corresponding to midpoints of segments (i.e., the columns // in *spectrum*). // // im : `.AxesImage` // // The image created by imshow containing the spectrogram. // // See Also // -------- // psd // // Differs in the default overlap; in returning the mean of the // segment periodograms; in not returning times; and in generating a // line plot instead of colormap. // // magnitude_spectrum // // A single spectrum, similar to having a single segment when *mode* // is 'magnitude'. Plots a line instead of a colormap. // // angle_spectrum // // A single spectrum, similar to having a single segment when *mode* // is 'angle'. Plots a line instead of a colormap. // // phase_spectrum // // A single spectrum, similar to having a single segment when *mode* // is 'phase'. Plots a line instead of a colormap. // // Notes // ----- // The parameters *detrend* and *scale_by_freq* do only apply when *mode* // is set to 'psd'. // //go:linkname Specgram py.specgram func Specgram(x *py.Object, NFFT *py.Object, Fs *py.Object, Fc *py.Object, detrend *py.Object, window *py.Object, noverlap *py.Object, cmap *py.Object, xextent *py.Object, padTo *py.Object, sides *py.Object, scaleByFreq *py.Object, mode *py.Object, scale *py.Object, vmin *py.Object, vmax *py.Object) *py.Object // Plot the sparsity pattern of a 2D array. // // This visualizes the non-zero values of the array. // // Two plotting styles are available: image and marker. Both // are available for full arrays, but only the marker style // works for `scipy.sparse.spmatrix` instances. // // **Image style** // // If *marker* and *markersize* are *None*, `~.Axes.imshow` is used. Any // extra remaining keyword arguments are passed to this method. // // **Marker style** // // If *Z* is a `scipy.sparse.spmatrix` or *marker* or *markersize* are // *None*, a `.Line2D` object will be returned with the value of marker // determining the marker type, and any remaining keyword arguments // passed to `~.Axes.plot`. // // Parameters // ---------- // Z : (M, N) array-like // // The array to be plotted. // // precision : float or 'present', default: 0 // // If *precision* is 0, any non-zero value will be plotted. Otherwise, // values of :math:`|Z| > precision` will be plotted. // // For `scipy.sparse.spmatrix` instances, you can also // pass 'present'. In this case any value present in the array // will be plotted, even if it is identically zero. // // aspect : {'equal', 'auto', None} or float, default: 'equal' // // The aspect ratio of the Axes. This parameter is particularly // relevant for images since it determines whether data pixels are // square. // // This parameter is a shortcut for explicitly calling // `.Axes.set_aspect`. See there for further details. // // - 'equal': Ensures an aspect ratio of 1. Pixels will be square. // - 'auto': The Axes is kept fixed and the aspect is adjusted so // that the data fit in the Axes. In general, this will result in // non-square pixels. // - *None*: Use :rc:`image.aspect`. // // origin : {'upper', 'lower'}, default: :rc:`image.origin` // // Place the [0, 0] index of the array in the upper left or lower left // corner of the Axes. The convention 'upper' is typically used for // matrices and images. // // Returns // ------- // `~matplotlib.image.AxesImage` or `.Line2D` // // The return type depends on the plotting style (see above). // // Other Parameters // ---------------- // **kwargs // // The supported additional parameters depend on the plotting style. // // For the image style, you can pass the following additional // parameters of `~.Axes.imshow`: // // - *cmap* // - *alpha* // - *url* // - any `.Artist` properties (passed on to the `.AxesImage`) // // For the marker style, you can pass any `.Line2D` property except // for *linestyle*: // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased or aa: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // color or c: color // dash_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // dash_joinstyle: `.JoinStyle` or {'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: `~matplotlib.figure.Figure` // fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'} // gapcolor: color or 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] // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: float or callable[[Artist, Event], tuple[bool, dict]] // pickradius: float // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // solid_capstyle: `.CapStyle` or {'butt', 'projecting', 'round'} // solid_joinstyle: `.JoinStyle` or {'miter', 'round', 'bevel'} // transform: unknown // url: str // visible: bool // xdata: 1D array // ydata: 1D array // zorder: float // //go:linkname Spy py.spy func Spy(Z *py.Object, precision *py.Object, marker *py.Object, markersize *py.Object, aspect *py.Object, origin *py.Object) *py.Object // Draw a stacked area plot. // // Parameters // ---------- // x : (N,) array-like // // y : (M, N) array-like // // The data is assumed to be unstacked. Each of the following // calls is legal:: // // stackplot(x, y) # where y has shape (M, N) // stackplot(x, y1, y2, y3) # where y1, y2, y3, y4 have length N // // baseline : {'zero', 'sym', 'wiggle', 'weighted_wiggle'} // // Method used to calculate the baseline: // // - ``'zero'``: Constant zero baseline, i.e. a simple stacked plot. // - ``'sym'``: Symmetric around zero and is sometimes called // 'ThemeRiver'. // - ``'wiggle'``: Minimizes the sum of the squared slopes. // - ``'weighted_wiggle'``: Does the same but weights to account for // size of each layer. It is also called 'Streamgraph'-layout. More // details can be found at http://leebyron.com/streamgraph/. // // labels : list of str, optional // // A sequence of labels to assign to each data series. If unspecified, // then no labels will be applied to artists. // // colors : list of color, optional // // A sequence of colors to be cycled through and used to color the stacked // areas. The sequence need not be exactly the same length as the number // of provided *y*, in which case the colors will repeat from the // beginning. // // If not specified, the colors from the Axes property cycle will be used. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // **kwargs // // All other keyword arguments are passed to `.Axes.fill_between`. // // Returns // ------- // list of `.PolyCollection` // // A list of `.PolyCollection` instances, one for each element in the // stacked area plot. // //go:linkname Stackplot py.stackplot func Stackplot(x *py.Object, __llgo_va_list ...interface{}) *py.Object // Create a stem plot. // // A stem plot draws lines perpendicular to a baseline at each location // *locs* from the baseline to *heads*, and places a marker there. For // vertical stem plots (the default), the *locs* are *x* positions, and // the *heads* are *y* values. For horizontal stem plots, the *locs* are // *y* positions, and the *heads* are *x* values. // // Call signature:: // // stem([locs,] heads, linefmt=None, markerfmt=None, basefmt=None) // // The *locs*-positions are optional. *linefmt* may be provided as // positional, but all other formats must be provided as keyword // arguments. // // Parameters // ---------- // locs : array-like, default: (0, 1, ..., len(heads) - 1) // // For vertical stem plots, the x-positions of the stems. // For horizontal stem plots, the y-positions of the stems. // // heads : array-like // // For vertical stem plots, the y-values of the stem heads. // For horizontal stem plots, the x-values of the stem heads. // // linefmt : str, optional // // A string defining the color and/or linestyle of the vertical lines: // // ========= ============= // Character Line Style // ========= ============= // ``'-'`` solid line // ``'--'`` dashed line // ``'-.'`` dash-dot line // ``':'`` dotted line // ========= ============= // // Default: 'C0-', i.e. solid line with the first color of the color // cycle. // // Note: Markers specified through this parameter (e.g. 'x') will be // silently ignored. Instead, markers should be specified using // *markerfmt*. // // markerfmt : str, optional // // A string defining the color and/or shape of the markers at the stem // heads. If the marker is not given, use the marker 'o', i.e. filled // circles. If the color is not given, use the color from *linefmt*. // // basefmt : str, default: 'C3-' ('C2-' in classic mode) // // A format string defining the properties of the baseline. // // orientation : {'vertical', 'horizontal'}, default: 'vertical' // // If 'vertical', will produce a plot with stems oriented vertically, // If 'horizontal', the stems will be oriented horizontally. // // bottom : float, default: 0 // // The y/x-position of the baseline (depending on orientation). // // label : str, default: None // // The label to use for the stems in legends. // // data : indexable object, optional // // If given, all parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception). // // Returns // ------- // `.StemContainer` // // The container may be treated like a tuple // (*markerline*, *stemlines*, *baseline*) // // Notes // ----- // .. seealso:: // // The MATLAB function // `stem `_ // which inspired this method. // //go:linkname Stem py.stem func Stem(__llgo_va_list ...interface{}) *py.Object // Make a step plot. // // Call signatures:: // // step(x, y, [fmt], *, data=None, where='pre', **kwargs) // step(x, y, [fmt], x2, y2, [fmt2], ..., *, where='pre', **kwargs) // // This is just a thin wrapper around `.plot` which changes some // formatting options. Most of the concepts and parameters of plot can be // used here as well. // // .. note:: // // This method uses a standard plot with a step drawstyle: The *x* // values are the reference positions and steps extend left/right/both // directions depending on *where*. // // For the common case where you know the values and edges of the // steps, use `~.Axes.stairs` instead. // // Parameters // ---------- // x : array-like // // 1D sequence of x positions. It is assumed, but not checked, that // it is uniformly increasing. // // y : array-like // // 1D sequence of y levels. // // fmt : str, optional // // A format string, e.g. 'g' for a green line. See `.plot` for a more // detailed description. // // Note: While full format strings are accepted, it is recommended to // only specify the color. Line styles are currently ignored (use // the keyword argument *linestyle* instead). Markers are accepted // and plotted on the given positions, however, this is a rarely // needed feature for step plots. // // where : {'pre', 'post', 'mid'}, default: 'pre' // // Define where the steps should be placed: // // - 'pre': The y value is continued constantly to the left from // every *x* position, i.e. the interval ``(x[i-1], x[i]]`` has the // value ``y[i]``. // - 'post': The y value is continued constantly to the right from // every *x* position, i.e. the interval ``[x[i], x[i+1])`` has the // value ``y[i]``. // - 'mid': Steps occur half-way between the *x* positions. // // data : indexable object, optional // // An object with labelled data. If given, provide the label names to // plot in *x* and *y*. // // **kwargs // // Additional parameters are the same as those for `.plot`. // // Returns // ------- // list of `.Line2D` // // Objects representing the plotted data. // //go:linkname Step py.step func Step(x *py.Object, y *py.Object, __llgo_va_list ...interface{}) *py.Object // Draw streamlines of a vector flow. // // Parameters // ---------- // x, y : 1D/2D arrays // // Evenly spaced strictly increasing arrays to make a grid. If 2D, all // rows of *x* must be equal and all columns of *y* must be equal; i.e., // they must be as if generated by ``np.meshgrid(x_1d, y_1d)``. // // u, v : 2D arrays // // *x* and *y*-velocities. The number of rows and columns must match // the length of *y* and *x*, respectively. // // density : float or (float, float) // // Controls the closeness of streamlines. When ``density = 1``, the domain // is divided into a 30x30 grid. *density* linearly scales this grid. // Each cell in the grid can have, at most, one traversing streamline. // For different densities in each direction, use a tuple // (density_x, density_y). // // linewidth : float or 2D array // // The width of the streamlines. With a 2D array the line width can be // varied across the grid. The array must have the same shape as *u* // and *v*. // // color : color or 2D array // // The streamline color. If given an array, its values are converted to // colors using *cmap* and *norm*. The array must have the same shape // as *u* and *v*. // // cmap, norm // // Data normalization and colormapping parameters for *color*; only used // if *color* is an array of floats. See `~.Axes.imshow` for a detailed // description. // // arrowsize : float // // Scaling factor for the arrow size. // // arrowstyle : str // // Arrow style specification. // See `~matplotlib.patches.FancyArrowPatch`. // // minlength : float // // Minimum length of streamline in axes coordinates. // // start_points : (N, 2) array // // Coordinates of starting points for the streamlines in data coordinates // (the same coordinates as the *x* and *y* arrays). // // zorder : float // // The zorder of the streamlines and arrows. // Artists with lower zorder values are drawn first. // // maxlength : float // // Maximum length of streamline in axes coordinates. // // integration_direction : {'forward', 'backward', 'both'}, default: 'both' // // Integrate the streamline in forward, backward or both directions. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y*, *u*, *v*, *start_points* // // broken_streamlines : boolean, default: True // // If False, forces streamlines to continue until they // leave the plot domain. If True, they may be terminated if they // come too close to another streamline. // // Returns // ------- // StreamplotSet // // Container object with attributes // // - ``lines``: `.LineCollection` of streamlines // // - ``arrows``: `.PatchCollection` containing `.FancyArrowPatch` // objects representing the arrows half-way along streamlines. // // This container will probably change in the future to allow changes // to the colormap, alpha, etc. for both lines and arrows, but these // changes should be backward compatible. // //go:linkname Streamplot py.streamplot func Streamplot(x *py.Object, y *py.Object, u *py.Object, v *py.Object, density *py.Object, linewidth *py.Object, color *py.Object, cmap *py.Object, norm *py.Object, arrowsize *py.Object, arrowstyle *py.Object, minlength *py.Object, transform *py.Object, zorder *py.Object, startPoints *py.Object, maxlength *py.Object, integrationDirection *py.Object, brokenStreamlines *py.Object) *py.Object // Add a table to an `~.axes.Axes`. // // At least one of *cellText* or *cellColours* must be specified. These // parameters must be 2D lists, in which the outer lists define the rows and // the inner list define the column values per row. Each row must have the // same number of elements. // // The table can optionally have row and column headers, which are configured // using *rowLabels*, *rowColours*, *rowLoc* and *colLabels*, *colColours*, // *colLoc* respectively. // // For finer grained control over tables, use the `.Table` class and add it to // the axes with `.Axes.add_table`. // // Parameters // ---------- // cellText : 2D list of str, optional // // The texts to place into the table cells. // // *Note*: Line breaks in the strings are currently not accounted for and // will result in the text exceeding the cell boundaries. // // cellColours : 2D list of colors, optional // // The background colors of the cells. // // cellLoc : {'left', 'center', 'right'}, default: 'right' // // The alignment of the text within the cells. // // colWidths : list of float, optional // // The column widths in units of the axes. If not given, all columns will // have a width of *1 / ncols*. // // rowLabels : list of str, optional // // The text of the row header cells. // // rowColours : list of colors, optional // // The colors of the row header cells. // // rowLoc : {'left', 'center', 'right'}, default: 'left' // // The text alignment of the row header cells. // // colLabels : list of str, optional // // The text of the column header cells. // // colColours : list of colors, optional // // The colors of the column header cells. // // colLoc : {'left', 'center', 'right'}, default: 'left' // // The text alignment of the column header cells. // // loc : str, optional // // The position of the cell with respect to *ax*. This must be one of // the `~.Table.codes`. // // bbox : `.Bbox` or [xmin, ymin, width, height], optional // // A bounding box to draw the table into. If this is not *None*, this // overrides *loc*. // // edges : substring of 'BRTL' or {'open', 'closed', 'horizontal', 'vertical'} // // The cell edges to be drawn with a line. See also // `~.Cell.visible_edges`. // // Returns // ------- // `~matplotlib.table.Table` // // The created table. // // Other Parameters // ---------------- // **kwargs // // `.Table` properties. // // Properties: // // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // clip_box: `~matplotlib.transforms.BboxBase` or None // clip_on: bool // clip_path: Patch or (Path, Transform) or None // figure: `~matplotlib.figure.Figure` // fontsize: float // gid: str // in_layout: bool // label: object // mouseover: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // rasterized: bool // sketch_params: (scale: float, length: float, randomness: float) // snap: bool or None // transform: `~matplotlib.transforms.Transform` // url: str // visible: bool // zorder: float // //go:linkname Table py.table func Table(cellText *py.Object, cellColours *py.Object, cellLoc *py.Object, colWidths *py.Object, rowLabels *py.Object, rowColours *py.Object, rowLoc *py.Object, colLabels *py.Object, colColours *py.Object, colLoc *py.Object, loc *py.Object, bbox *py.Object, edges *py.Object) *py.Object // Add text to the Axes. // // Add the text *s* to the Axes at location *x*, *y* in data coordinates, // with a default “horizontalalignment“ on the “left“ and // “verticalalignment“ at the “baseline“. See // :doc:`/gallery/text_labels_and_annotations/text_alignment`. // // Parameters // ---------- // x, y : float // // The position to place the text. By default, this is in data // coordinates. The coordinate system can be changed using the // *transform* parameter. // // s : str // // The text. // // fontdict : dict, default: None // // .. admonition:: Discouraged // // The use of *fontdict* is discouraged. Parameters should be passed as // individual keyword arguments or using dictionary-unpacking // ``text(..., **fontdict)``. // // A dictionary to override the default text properties. If fontdict // is None, the defaults are determined by `.rcParams`. // // Returns // ------- // `.Text` // // The created `.Text` instance. // // Other Parameters // ---------------- // **kwargs : `~matplotlib.text.Text` properties. // // Other miscellaneous text parameters. // // Properties: // agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array and two offsets from the bottom left corner of the image // alpha: scalar or None // animated: bool // antialiased: bool // backgroundcolor: color // bbox: dict with properties for `.patches.FancyBboxPatch` // clip_box: unknown // clip_on: unknown // clip_path: unknown // color or c: color // figure: `~matplotlib.figure.Figure` // fontfamily or family or fontname: {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: {'left', 'center', 'right'} // in_layout: bool // label: object // linespacing: float (multiple of font size) // math_fontfamily: str // mouseover: bool // multialignment or ma: {'left', 'right', 'center'} // parse_math: bool // path_effects: list of `.AbstractPathEffect` // picker: None or bool or float or callable // position: (float, float) // rasterized: bool // 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: `~matplotlib.transforms.Transform` // transform_rotates_text: bool // url: str // usetex: bool or None // verticalalignment or va: {'baseline', 'bottom', 'center', 'center_baseline', 'top'} // visible: bool // wrap: bool // x: float // y: float // zorder: float // // Examples // -------- // Individual keyword arguments can be used to override any given // parameter:: // // >>> text(x, y, s, fontsize=12) // // The default transform specifies that text is in data coords, // alternatively, you can specify text in axis coords ((0, 0) is // lower-left and (1, 1) is upper-right). The example below places // text in the center of the Axes:: // // >>> text(0.5, 0.5, 'matplotlib', horizontalalignment='center', // ... verticalalignment='center', transform=ax.transAxes) // // You can put a rectangular box around the text instance (e.g., to // set a background color) by using the keyword *bbox*. *bbox* is // a dictionary of `~matplotlib.patches.Rectangle` // properties. For example:: // // >>> text(x, y, s, bbox=dict(facecolor='red', alpha=0.5)) // //go:linkname Text py.text func Text(x *py.Object, y *py.Object, s *py.Object, fontdict *py.Object) *py.Object // Change the appearance of ticks, tick labels, and gridlines. // // Tick properties that are not explicitly set using the keyword // arguments remain unchanged unless *reset* is True. For the current // style settings, see `.Axis.get_tick_params`. // // Parameters // ---------- // axis : {'x', 'y', 'both'}, default: 'both' // // The axis to which the parameters are applied. // // which : {'major', 'minor', 'both'}, default: 'major' // // The group of ticks to which the parameters are applied. // // reset : bool, default: False // // Whether to reset the ticks to defaults before updating them. // // Other Parameters // ---------------- // direction : {'in', 'out', 'inout'} // // Puts ticks inside the Axes, outside the Axes, or both. // // length : float // // Tick length in points. // // width : float // // Tick width in points. // // color : color // // Tick color. // // pad : float // // Distance in points between tick and label. // // labelsize : float or str // // Tick label font size in points or as a string (e.g., 'large'). // // labelcolor : color // // Tick label color. // // labelfontfamily : str // // Tick label font. // // colors : color // // Tick color and label color. // // zorder : float // // Tick and label zorder. // // bottom, top, left, right : bool // // Whether to draw the respective ticks. // // labelbottom, labeltop, labelleft, labelright : bool // // Whether to draw the respective tick labels. // // labelrotation : float // // Tick label rotation // // grid_color : color // // Gridline color. // // grid_alpha : float // // Transparency of gridlines: 0 (transparent) to 1 (opaque). // // grid_linewidth : float // // Width of gridlines in points. // // grid_linestyle : str // // Any valid `.Line2D` line style spec. // // Examples // -------- // :: // // ax.tick_params(direction='out', length=6, width=2, colors='r', // grid_color='r', grid_alpha=0.5) // // This will make all major ticks be red, pointing out of the box, // and with dimensions 6 points by 2 points. Tick labels will // also be red. Gridlines will be red and translucent. // //go:linkname TickParams py.tick_params func TickParams(axis *py.Object) *py.Object // Configure the `.ScalarFormatter` used by default for linear Axes. // // If a parameter is not set, the corresponding property of the formatter // is left unchanged. // // Parameters // ---------- // axis : {'x', 'y', 'both'}, default: 'both' // // The axis to configure. Only major ticks are affected. // // style : {'sci', 'scientific', 'plain'} // // Whether to use scientific notation. // The formatter default is to use scientific notation. // // scilimits : pair of ints (m, n) // // Scientific notation is used only for numbers outside the range // 10\ :sup:`m` to 10\ :sup:`n` (and only if the formatter is // configured to use scientific notation at all). Use (0, 0) to // include all numbers. Use (m, m) where m != 0 to fix the order of // magnitude to 10\ :sup:`m`. // The formatter default is :rc:`axes.formatter.limits`. // // useOffset : bool or float // // If True, the offset is calculated as needed. // If False, no offset is used. // If a numeric value, it sets the offset. // The formatter default is :rc:`axes.formatter.useoffset`. // // useLocale : bool // // Whether to format the number using the current locale or using the // C (English) locale. This affects e.g. the decimal separator. The // formatter default is :rc:`axes.formatter.use_locale`. // // useMathText : bool // // Render the offset and scientific notation in mathtext. // The formatter default is :rc:`axes.formatter.use_mathtext`. // // Raises // ------ // AttributeError // // If the current formatter is not a `.ScalarFormatter`. // //go:linkname TicklabelFormat py.ticklabel_format func TicklabelFormat() *py.Object // Draw contour lines on an unstructured triangular grid. // // Call signatures:: // // tricontour(triangulation, z, [levels], ...) // tricontour(x, y, z, [levels], *, [triangles=triangles], [mask=mask], ...) // // The triangular grid can be specified either by passing a `.Triangulation` // object as the first parameter, or by passing the points *x*, *y* and // optionally the *triangles* and a *mask*. See `.Triangulation` for an // explanation of these parameters. If neither of *triangulation* or // *triangles* are given, the triangulation is calculated on the fly. // // It is possible to pass *triangles* positionally, i.e. // “tricontour(x, y, triangles, z, ...)“. However, this is discouraged. For more // clarity, pass *triangles* via keyword argument. // // Parameters // ---------- // triangulation : `.Triangulation`, optional // // An already created triangular grid. // // x, y, triangles, mask // // Parameters defining the triangular grid. See `.Triangulation`. // This is mutually exclusive with specifying *triangulation*. // // z : array-like // // The height values over which the contour is drawn. Color-mapping is // controlled by *cmap*, *norm*, *vmin*, and *vmax*. // // .. note:: // All values in *z* must be finite. Hence, nan and inf values must // either be removed or `~.Triangulation.set_mask` be used. // // levels : int or array-like, optional // // Determines the number and positions of the contour lines / regions. // // If an int *n*, use `~matplotlib.ticker.MaxNLocator`, which tries to // automatically choose no more than *n+1* "nice" contour levels between // between minimum and maximum numeric values of *Z*. // // If array-like, draw contour lines at the specified levels. The values must // be in increasing order. // // Returns // ------- // `~matplotlib.tri.TriContourSet` // // Other Parameters // ---------------- // colors : color string or sequence of colors, optional // // The colors of the levels, i.e., the contour lines. // // The sequence is cycled for the levels in ascending order. If the sequence // is shorter than the number of levels, it is repeated. // // As a shortcut, single color strings may be used in place of one-element // lists, i.e. ``'red'`` instead of ``['red']`` to color all levels with the // same color. This shortcut does only work for color strings, not for other // ways of specifying colors. // // By default (value *None*), the colormap specified by *cmap* will be used. // // alpha : float, default: 1 // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *colors* is set. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *colors* is set. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // If *vmin* or *vmax* are not given, the default color scaling is based on // *levels*. // // This parameter is ignored if *colors* is set. // // origin : {*None*, 'upper', 'lower', 'image'}, default: None // // Determines the orientation and exact position of *z* by specifying the // position of ``z[0, 0]``. This is only relevant, if *X*, *Y* are not given. // // - *None*: ``z[0, 0]`` is at X=0, Y=0 in the lower left corner. // - 'lower': ``z[0, 0]`` is at X=0.5, Y=0.5 in the lower left corner. // - 'upper': ``z[0, 0]`` is at X=N+0.5, Y=0.5 in the upper left corner. // - 'image': Use the value from :rc:`image.origin`. // // extent : (x0, x1, y0, y1), optional // // If *origin* is not *None*, then *extent* is interpreted as in `.imshow`: it // gives the outer pixel boundaries. In this case, the position of z[0, 0] is // the center of the pixel, not a corner. If *origin* is *None*, then // (*x0*, *y0*) is the position of z[0, 0], and (*x1*, *y1*) is the position // of z[-1, -1]. // // This argument is ignored if *X* and *Y* are specified in the call to // contour. // // locator : ticker.Locator subclass, optional // // The locator is used to determine the contour levels if they are not given // explicitly via *levels*. // Defaults to `~.ticker.MaxNLocator`. // // extend : {'neither', 'both', 'min', 'max'}, default: 'neither' // // Determines the ``tricontour``-coloring of values that are outside the // *levels* range. // // If 'neither', values outside the *levels* range are not colored. If 'min', // 'max' or 'both', color the values below, above or below and above the // *levels* range. // // Values below ``min(levels)`` and above ``max(levels)`` are mapped to the // under/over values of the `.Colormap`. Note that most colormaps do not have // dedicated colors for these by default, so that the over and under values // are the edge values of the colormap. You may want to set these values // explicitly using `.Colormap.set_under` and `.Colormap.set_over`. // // .. note:: // // An existing `.TriContourSet` does not get notified if properties of its // colormap are changed. Therefore, an explicit call to // `.ContourSet.changed()` is needed after modifying the colormap. The // explicit call can be left out, if a colorbar is assigned to the // `.TriContourSet` because it internally calls `.ContourSet.changed()`. // // xunits, yunits : registered units, optional // // Override axis units by specifying an instance of a // :class:`matplotlib.units.ConversionInterface`. // // antialiased : bool, optional // // Enable antialiasing, overriding the defaults. For // filled contours, the default is *True*. For line contours, // it is taken from :rc:`lines.antialiased`. // // linewidths : float or array-like, default: :rc:`contour.linewidth` // // The line width of the contour lines. // // If a number, all levels will be plotted with this linewidth. // // If a sequence, the levels in ascending order will be plotted with // the linewidths in the order specified. // // If None, this falls back to :rc:`lines.linewidth`. // // linestyles : {*None*, 'solid', 'dashed', 'dashdot', 'dotted'}, optional // // If *linestyles* is *None*, the default is 'solid' unless the lines are // monochrome. In that case, negative contours will take their linestyle // from :rc:`contour.negative_linestyle` setting. // // *linestyles* can also be an iterable of the above strings specifying a // set of linestyles to be used. If this iterable is shorter than the // number of contour levels it will be repeated as necessary. // //go:linkname Tricontour py.tricontour func Tricontour(__llgo_va_list ...interface{}) *py.Object // Draw contour regions on an unstructured triangular grid. // // Call signatures:: // // tricontourf(triangulation, z, [levels], ...) // tricontourf(x, y, z, [levels], *, [triangles=triangles], [mask=mask], ...) // // The triangular grid can be specified either by passing a `.Triangulation` // object as the first parameter, or by passing the points *x*, *y* and // optionally the *triangles* and a *mask*. See `.Triangulation` for an // explanation of these parameters. If neither of *triangulation* or // *triangles* are given, the triangulation is calculated on the fly. // // It is possible to pass *triangles* positionally, i.e. // “tricontourf(x, y, triangles, z, ...)“. However, this is discouraged. For more // clarity, pass *triangles* via keyword argument. // // Parameters // ---------- // triangulation : `.Triangulation`, optional // // An already created triangular grid. // // x, y, triangles, mask // // Parameters defining the triangular grid. See `.Triangulation`. // This is mutually exclusive with specifying *triangulation*. // // z : array-like // // The height values over which the contour is drawn. Color-mapping is // controlled by *cmap*, *norm*, *vmin*, and *vmax*. // // .. note:: // All values in *z* must be finite. Hence, nan and inf values must // either be removed or `~.Triangulation.set_mask` be used. // // levels : int or array-like, optional // // Determines the number and positions of the contour lines / regions. // // If an int *n*, use `~matplotlib.ticker.MaxNLocator`, which tries to // automatically choose no more than *n+1* "nice" contour levels between // between minimum and maximum numeric values of *Z*. // // If array-like, draw contour lines at the specified levels. The values must // be in increasing order. // // Returns // ------- // `~matplotlib.tri.TriContourSet` // // Other Parameters // ---------------- // colors : color string or sequence of colors, optional // // The colors of the levels, i.e., the contour regions. // // The sequence is cycled for the levels in ascending order. If the sequence // is shorter than the number of levels, it is repeated. // // As a shortcut, single color strings may be used in place of one-element // lists, i.e. ``'red'`` instead of ``['red']`` to color all levels with the // same color. This shortcut does only work for color strings, not for other // ways of specifying colors. // // By default (value *None*), the colormap specified by *cmap* will be used. // // alpha : float, default: 1 // // The alpha blending value, between 0 (transparent) and 1 (opaque). // // cmap : str or `~matplotlib.colors.Colormap`, default: :rc:`image.cmap` // // The Colormap instance or registered colormap name used to map scalar data // to colors. // // This parameter is ignored if *colors* is set. // // norm : str or `~matplotlib.colors.Normalize`, optional // // The normalization method used to scale scalar data to the [0, 1] range // before mapping to colors using *cmap*. By default, a linear scaling is // used, mapping the lowest value to 0 and the highest to 1. // // If given, this can be one of the following: // // - An instance of `.Normalize` or one of its subclasses // (see :ref:`colormapnorms`). // - A scale name, i.e. one of "linear", "log", "symlog", "logit", etc. For a // list of available scales, call `matplotlib.scale.get_scale_names()`. // In that case, a suitable `.Normalize` subclass is dynamically generated // and instantiated. // // This parameter is ignored if *colors* is set. // // vmin, vmax : float, optional // // When using scalar data and no explicit *norm*, *vmin* and *vmax* define // the data range that the colormap covers. By default, the colormap covers // the complete value range of the supplied data. It is an error to use // *vmin*/*vmax* when a *norm* instance is given (but using a `str` *norm* // name together with *vmin*/*vmax* is acceptable). // // If *vmin* or *vmax* are not given, the default color scaling is based on // *levels*. // // This parameter is ignored if *colors* is set. // // origin : {*None*, 'upper', 'lower', 'image'}, default: None // // Determines the orientation and exact position of *z* by specifying the // position of ``z[0, 0]``. This is only relevant, if *X*, *Y* are not given. // // - *None*: ``z[0, 0]`` is at X=0, Y=0 in the lower left corner. // - 'lower': ``z[0, 0]`` is at X=0.5, Y=0.5 in the lower left corner. // - 'upper': ``z[0, 0]`` is at X=N+0.5, Y=0.5 in the upper left corner. // - 'image': Use the value from :rc:`image.origin`. // // extent : (x0, x1, y0, y1), optional // // If *origin* is not *None*, then *extent* is interpreted as in `.imshow`: it // gives the outer pixel boundaries. In this case, the position of z[0, 0] is // the center of the pixel, not a corner. If *origin* is *None*, then // (*x0*, *y0*) is the position of z[0, 0], and (*x1*, *y1*) is the position // of z[-1, -1]. // // This argument is ignored if *X* and *Y* are specified in the call to // contour. // // locator : ticker.Locator subclass, optional // // The locator is used to determine the contour levels if they are not given // explicitly via *levels*. // Defaults to `~.ticker.MaxNLocator`. // // extend : {'neither', 'both', 'min', 'max'}, default: 'neither' // // Determines the ``tricontourf``-coloring of values that are outside the // *levels* range. // // If 'neither', values outside the *levels* range are not colored. If 'min', // 'max' or 'both', color the values below, above or below and above the // *levels* range. // // Values below ``min(levels)`` and above ``max(levels)`` are mapped to the // under/over values of the `.Colormap`. Note that most colormaps do not have // dedicated colors for these by default, so that the over and under values // are the edge values of the colormap. You may want to set these values // explicitly using `.Colormap.set_under` and `.Colormap.set_over`. // // .. note:: // // An existing `.TriContourSet` does not get notified if properties of its // colormap are changed. Therefore, an explicit call to // `.ContourSet.changed()` is needed after modifying the colormap. The // explicit call can be left out, if a colorbar is assigned to the // `.TriContourSet` because it internally calls `.ContourSet.changed()`. // // xunits, yunits : registered units, optional // // Override axis units by specifying an instance of a // :class:`matplotlib.units.ConversionInterface`. // // antialiased : bool, optional // // Enable antialiasing, overriding the defaults. For // filled contours, the default is *True*. For line contours, // it is taken from :rc:`lines.antialiased`. // // hatches : list[str], optional // // A list of crosshatch patterns to use on the filled areas. // If None, no hatching will be added to the contour. // Hatching is supported in the PostScript, PDF, SVG and Agg // backends only. // // Notes // ----- // `.tricontourf` fills intervals that are closed at the top; that is, for // boundaries *z1* and *z2*, the filled region is:: // // z1 < Z <= z2 // // except for the lowest interval, which is closed on both sides (i.e. it // includes the lowest value). // //go:linkname Tricontourf py.tricontourf func Tricontourf(__llgo_va_list ...interface{}) *py.Object // Create a pseudocolor plot of an unstructured triangular grid. // // Call signatures:: // // tripcolor(triangulation, c, *, ...) // tripcolor(x, y, c, *, [triangles=triangles], [mask=mask], ...) // // The triangular grid can be specified either by passing a `.Triangulation` // object as the first parameter, or by passing the points *x*, *y* and // optionally the *triangles* and a *mask*. See `.Triangulation` for an // explanation of these parameters. // // It is possible to pass the triangles positionally, i.e. // “tripcolor(x, y, triangles, c, ...)“. However, this is discouraged. // For more clarity, pass *triangles* via keyword argument. // // If neither of *triangulation* or *triangles* are given, the triangulation // is calculated on the fly. In this case, it does not make sense to provide // colors at the triangle faces via *c* or *facecolors* because there are // multiple possible triangulations for a group of points and you don't know // which triangles will be constructed. // // Parameters // ---------- // triangulation : `.Triangulation` // // An already created triangular grid. // // x, y, triangles, mask // // Parameters defining the triangular grid. See `.Triangulation`. // This is mutually exclusive with specifying *triangulation*. // // c : array-like // // The color values, either for the points or for the triangles. Which one // is automatically inferred from the length of *c*, i.e. does it match // the number of points or the number of triangles. If there are the same // number of points and triangles in the triangulation it is assumed that // color values are defined at points; to force the use of color values at // triangles use the keyword argument ``facecolors=c`` instead of just // ``c``. // This parameter is position-only. // // facecolors : array-like, optional // // Can be used alternatively to *c* to specify colors at the triangle // faces. This parameter takes precedence over *c*. // // shading : {'flat', 'gouraud'}, default: 'flat' // // If 'flat' and the color values *c* are defined at points, the color // values used for each triangle are from the mean c of the triangle's // three points. If *shading* is 'gouraud' then color values must be // defined at points. // // other_parameters // // All other parameters are the same as for `~.Axes.pcolor`. // //go:linkname Tripcolor py.tripcolor func Tripcolor(__llgo_va_list ...interface{}) *py.Object // Draw an unstructured triangular grid as lines and/or markers. // // Call signatures:: // // triplot(triangulation, ...) // triplot(x, y, [triangles], *, [mask=mask], ...) // // The triangular grid can be specified either by passing a `.Triangulation` // object as the first parameter, or by passing the points *x*, *y* and // optionally the *triangles* and a *mask*. If neither of *triangulation* or // *triangles* are given, the triangulation is calculated on the fly. // // Parameters // ---------- // triangulation : `.Triangulation` // // An already created triangular grid. // // x, y, triangles, mask // // Parameters defining the triangular grid. See `.Triangulation`. // This is mutually exclusive with specifying *triangulation*. // // other_parameters // // All other args and kwargs are forwarded to `~.Axes.plot`. // // Returns // ------- // lines : `~matplotlib.lines.Line2D` // // The drawn triangles edges. // // markers : `~matplotlib.lines.Line2D` // // The drawn marker nodes. // //go:linkname Triplot py.triplot func Triplot(__llgo_va_list ...interface{}) *py.Object // Make a violin plot. // // Make a violin plot for each column of *dataset* or each vector in // sequence *dataset*. Each filled area extends to represent the // entire data range, with optional lines at the mean, the median, // the minimum, the maximum, and user-specified quantiles. // // Parameters // ---------- // dataset : Array or a sequence of vectors. // // The input data. // // positions : array-like, default: [1, 2, ..., n] // // The positions of the violins. The ticks and limits are // automatically set to match the positions. // // vert : bool, default: True. // // If true, creates a vertical violin plot. // Otherwise, creates a horizontal violin plot. // // widths : array-like, default: 0.5 // // Either a scalar or a vector that sets the maximal width of // each violin. The default is 0.5, which uses about half of the // available horizontal space. // // showmeans : bool, default: False // // If `True`, will toggle rendering of the means. // // showextrema : bool, default: True // // If `True`, will toggle rendering of the extrema. // // showmedians : bool, default: False // // If `True`, will toggle rendering of the medians. // // quantiles : array-like, default: None // // If not None, set a list of floats in interval [0, 1] for each violin, // which stands for the quantiles that will be rendered for that // violin. // // points : int, default: 100 // // Defines the number of points to evaluate each of the // gaussian kernel density estimations at. // // bw_method : str, scalar or callable, optional // // The method used to calculate the estimator bandwidth. This can be // 'scott', 'silverman', a scalar constant or a callable. If a // scalar, this will be used directly as `kde.factor`. If a // callable, it should take a `matplotlib.mlab.GaussianKDE` instance as // its only parameter and return a scalar. If None (default), 'scott' // is used. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *dataset* // // Returns // ------- // dict // // A dictionary mapping each component of the violinplot to a // list of the corresponding collection instances created. The // dictionary has the following keys: // // - ``bodies``: A list of the `~.collections.PolyCollection` // instances containing the filled area of each violin. // // - ``cmeans``: A `~.collections.LineCollection` instance that marks // the mean values of each of the violin's distribution. // // - ``cmins``: A `~.collections.LineCollection` instance that marks // the bottom of each violin's distribution. // // - ``cmaxes``: A `~.collections.LineCollection` instance that marks // the top of each violin's distribution. // // - ``cbars``: A `~.collections.LineCollection` instance that marks // the centers of each violin's distribution. // // - ``cmedians``: A `~.collections.LineCollection` instance that // marks the median values of each of the violin's distribution. // // - ``cquantiles``: A `~.collections.LineCollection` instance created // to identify the quantile values of each of the violin's // distribution. // //go:linkname Violinplot py.violinplot func Violinplot(dataset *py.Object, positions *py.Object, vert *py.Object, widths *py.Object, showmeans *py.Object, showextrema *py.Object, showmedians *py.Object, quantiles *py.Object, points *py.Object, bwMethod *py.Object) *py.Object // Plot vertical lines at each *x* from *ymin* to *ymax*. // // Parameters // ---------- // x : float or array-like // // x-indexes where to plot the lines. // // ymin, ymax : float or array-like // // Respective beginning and end of each line. If scalars are // provided, all lines will have the same length. // // colors : color or list of colors, default: :rc:`lines.color` // // linestyles : {'solid', 'dashed', 'dashdot', 'dotted'}, default: 'solid' // // label : str, default: ” // // Returns // ------- // `~matplotlib.collections.LineCollection` // // Other Parameters // ---------------- // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *ymin*, *ymax*, *colors* // // **kwargs : `~matplotlib.collections.LineCollection` properties. // // See Also // -------- // hlines : horizontal lines // axvline : vertical line across the Axes // //go:linkname Vlines py.vlines func Vlines(x *py.Object, ymin *py.Object, ymax *py.Object, colors *py.Object, linestyles *py.Object, label *py.Object) *py.Object // Plot the cross correlation between *x* and *y*. // // The correlation with lag k is defined as // :math:`\sum_n x[n+k] \cdot y^*[n]`, where :math:`y^*` is the complex // conjugate of :math:`y`. // // Parameters // ---------- // x, y : array-like of length n // // detrend : callable, default: `.mlab.detrend_none` (no detrending) // // A detrending function applied to *x* and *y*. It must have the // signature :: // // detrend(x: np.ndarray) -> np.ndarray // // normed : bool, default: True // // If ``True``, input vectors are normalised to unit length. // // usevlines : bool, default: True // // Determines the plot style. // // If ``True``, vertical lines are plotted from 0 to the xcorr value // using `.Axes.vlines`. Additionally, a horizontal line is plotted // at y=0 using `.Axes.axhline`. // // If ``False``, markers are plotted at the xcorr values using // `.Axes.plot`. // // maxlags : int, default: 10 // // Number of lags to show. If None, will return all ``2 * len(x) - 1`` // lags. // // Returns // ------- // lags : array (length “2*maxlags+1“) // // The lag vector. // // c : array (length “2*maxlags+1“) // // The auto correlation vector. // // line : `.LineCollection` or `.Line2D` // // `.Artist` added to the Axes of the correlation: // // - `.LineCollection` if *usevlines* is True. // - `.Line2D` if *usevlines* is False. // // b : `~matplotlib.lines.Line2D` or None // // Horizontal line at 0 if *usevlines* is True // None *usevlines* is False. // // Other Parameters // ---------------- // linestyle : `~matplotlib.lines.Line2D` property, optional // // The linestyle for plotting the data points. // Only used if *usevlines* is ``False``. // // marker : str, default: 'o' // // The marker for plotting the data points. // Only used if *usevlines* is ``False``. // // data : indexable object, optional // // If given, the following parameters also accept a string ``s``, which is // interpreted as ``data[s]`` (unless this raises an exception): // // *x*, *y* // // **kwargs // // Additional parameters are passed to `.Axes.vlines` and // `.Axes.axhline` if *usevlines* is ``True``; otherwise they are // passed to `.Axes.plot`. // // Notes // ----- // The cross correlation is performed with `numpy.correlate` with // “mode = "full"“. // //go:linkname Xcorr py.xcorr func Xcorr(x *py.Object, y *py.Object, normed *py.Object, detrend *py.Object, usevlines *py.Object, maxlags *py.Object) *py.Object // Set the current image. // // This image will be the target of colormap functions like // “pyplot.viridis“, and other functions such as `~.pyplot.clim`. The // current image is an attribute of the current Axes. // //go:linkname Sci py.sci func Sci(im *py.Object) *py.Object // Set a title for the Axes. // // Set one of the three available Axes titles. The available titles // are positioned above the Axes in the center, flush with the left // edge, and flush with the right edge. // // Parameters // ---------- // label : str // // Text to use for the title // // fontdict : dict // // .. admonition:: Discouraged // // The use of *fontdict* is discouraged. Parameters should be passed as // individual keyword arguments or using dictionary-unpacking // ``set_title(..., **fontdict)``. // // A dictionary controlling the appearance of the title text, // the default *fontdict* is:: // // {'fontsize': rcParams['axes.titlesize'], // 'fontweight': rcParams['axes.titleweight'], // 'color': rcParams['axes.titlecolor'], // 'verticalalignment': 'baseline', // 'horizontalalignment': loc} // // loc : {'center', 'left', 'right'}, default: :rc:`axes.titlelocation` // // Which title to set. // // y : float, default: :rc:`axes.titley` // // Vertical Axes location for the title (1.0 is the top). If // None (the default) and :rc:`axes.titley` is also None, y is // determined automatically to avoid decorators on the Axes. // // pad : float, default: :rc:`axes.titlepad` // // The offset of the title from the top of the Axes, in points. // // Returns // ------- // `.Text` // // The matplotlib text instance representing the title // // Other Parameters // ---------------- // **kwargs : `~matplotlib.text.Text` properties // // Other keyword arguments are text properties, see `.Text` for a list // of valid text properties. // //go:linkname Title py.title func Title(label *py.Object, fontdict *py.Object, loc *py.Object, pad *py.Object) *py.Object // Set the label for the x-axis. // // Parameters // ---------- // xlabel : str // // The label text. // // labelpad : float, default: :rc:`axes.labelpad` // // Spacing in points from the Axes bounding box including ticks // and tick labels. If None, the previous value is left as is. // // loc : {'left', 'center', 'right'}, default: :rc:`xaxis.labellocation` // // The label position. This is a high-level alternative for passing // parameters *x* and *horizontalalignment*. // // Other Parameters // ---------------- // **kwargs : `~matplotlib.text.Text` properties // // `.Text` properties control the appearance of the label. // // See Also // -------- // text : Documents the properties supported by `.Text`. // //go:linkname Xlabel py.xlabel func Xlabel(xlabel *py.Object, fontdict *py.Object, labelpad *py.Object) *py.Object // Set the label for the y-axis. // // Parameters // ---------- // ylabel : str // // The label text. // // labelpad : float, default: :rc:`axes.labelpad` // // Spacing in points from the Axes bounding box including ticks // and tick labels. If None, the previous value is left as is. // // loc : {'bottom', 'center', 'top'}, default: :rc:`yaxis.labellocation` // // The label position. This is a high-level alternative for passing // parameters *y* and *horizontalalignment*. // // Other Parameters // ---------------- // **kwargs : `~matplotlib.text.Text` properties // // `.Text` properties control the appearance of the label. // // See Also // -------- // text : Documents the properties supported by `.Text`. // //go:linkname Ylabel py.ylabel func Ylabel(ylabel *py.Object, fontdict *py.Object, labelpad *py.Object) *py.Object // Set the xaxis' scale. // // Parameters // ---------- // value : {"linear", "log", "symlog", "logit", ...} or `.ScaleBase` // // The axis scale type to apply. // // **kwargs // // Different keyword arguments are accepted, depending on the scale. // See the respective class keyword arguments: // // - `matplotlib.scale.LinearScale` // - `matplotlib.scale.LogScale` // - `matplotlib.scale.SymmetricalLogScale` // - `matplotlib.scale.LogitScale` // - `matplotlib.scale.FuncScale` // // Notes // ----- // By default, Matplotlib supports the above-mentioned scales. // Additionally, custom scales may be registered using // `matplotlib.scale.register_scale`. These scales can then also // be used here. // //go:linkname Xscale py.xscale func Xscale(value *py.Object) *py.Object // Set the yaxis' scale. // // Parameters // ---------- // value : {"linear", "log", "symlog", "logit", ...} or `.ScaleBase` // // The axis scale type to apply. // // **kwargs // // Different keyword arguments are accepted, depending on the scale. // See the respective class keyword arguments: // // - `matplotlib.scale.LinearScale` // - `matplotlib.scale.LogScale` // - `matplotlib.scale.SymmetricalLogScale` // - `matplotlib.scale.LogitScale` // - `matplotlib.scale.FuncScale` // // Notes // ----- // By default, Matplotlib supports the above-mentioned scales. // Additionally, custom scales may be registered using // `matplotlib.scale.register_scale`. These scales can then also // be used here. // //go:linkname Yscale py.yscale func Yscale(value *py.Object) *py.Object // Set the colormap to 'autumn'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Autumn py.autumn func Autumn() *py.Object // Set the colormap to 'bone'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Bone py.bone func Bone() *py.Object // Set the colormap to 'cool'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Cool py.cool func Cool() *py.Object // Set the colormap to 'copper'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Copper py.copper func Copper() *py.Object // Set the colormap to 'flag'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Flag py.flag func Flag() *py.Object // Set the colormap to 'gray'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Gray py.gray func Gray() *py.Object // Set the colormap to 'hot'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Hot py.hot func Hot() *py.Object // Set the colormap to 'hsv'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Hsv py.hsv func Hsv() *py.Object // Set the colormap to 'jet'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Jet py.jet func Jet() *py.Object // Set the colormap to 'pink'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Pink py.pink func Pink() *py.Object // Set the colormap to 'prism'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Prism py.prism func Prism() *py.Object // Set the colormap to 'spring'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Spring py.spring func Spring() *py.Object // Set the colormap to 'summer'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Summer py.summer func Summer() *py.Object // Set the colormap to 'winter'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Winter py.winter func Winter() *py.Object // Set the colormap to 'magma'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Magma py.magma func Magma() *py.Object // Set the colormap to 'inferno'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Inferno py.inferno func Inferno() *py.Object // Set the colormap to 'plasma'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Plasma py.plasma func Plasma() *py.Object // Set the colormap to 'viridis'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname Viridis py.viridis func Viridis() *py.Object // Set the colormap to 'nipy_spectral'. // // This changes the default colormap as well as the colormap of the current // image if there is one. See “help(colormaps)“ for more information. // //go:linkname NipySpectral py.nipy_spectral func NipySpectral() *py.Object