function plot_flux

deeptime.plots.plot_flux(flux: ReactiveFlux, state_sizes=None, flux_scale=1.0, state_scale=1.0, state_colors=None, state_labels='auto', minflux=1e-09, edge_scale=1.0, edge_curvature=1.0, edge_labels='weights', edge_label_format='{:.2e}', attribute_to_plot='net_flux', show_committor=True, cmap='coolwarm', ax=None, **textkwargs)

Network representation of a reactive flux.

This visualization is not optimized for large fluxes. It is meant to be used for the visualization of small models with up to 10-20 states, e.g. obtained by a PCCA-based coarse-graining of the full flux. If used with large network, the automatic node positioning will be very slow and may still look ugly.

(Source code, png, hires.png, pdf)

../../_images/deeptime-plots-plot_flux-1.png
Parameters:
  • flux (ReactiveFlux) – The flux to plot.

  • state_sizes (ndarray(n), optional, default=None) – User-defined areas of the discs drawn for each state. If not given, the stationary probability will be used.

  • flux_scale (float, optional, default=1.0) – Uniform scaling of the flux values.

  • state_scale (float, optional, default=1.0) – Uniform scaling of state discs.

  • state_colors (string, ndarray(n), or list, optional, default=None) –

    Per default colors according to cmap with respect to committor probability. Otherwise if given as:
    string :

    a Hex code for a single color used for all states

    array :

    n values in [0,1] which will result in a grayscale plot

    list :

    of len = nstates, with a color for each state. The list can mix strings, RGB values and hex codes, e.g. state_colors = [‘g’, ‘red’, [.23, .34, .35], ‘#ff5500’] is possible.

  • state_labels (list of strings, optional, default is 'auto') – A list with a label for each state, to be displayed at the center of each node/state. If left to ‘auto’, the labels are automatically set to the state indices.

  • minflux (float, optional, default=1e-9) – The minimal flux for a transition to be drawn

  • edge_scale (float, optional, default=1.0) – Relative arrow scale. Set to a value different from 1 to increase or decrease the arrow width.

  • edge_curvature (float, optional, default=1.0) – Relative arrow curvature. Set to a value different from 1 to make arrows more or less curved.

  • edge_labels ('weights', None or a ndarray(n,n) with label strings. Optional, default='weights') – Strings to be placed upon arrows. If None, no labels will be used. If ‘weights’, the elements of P will be used. If a matrix of strings is given by the user these will be used.

  • edge_label_format (str, optional, default='{:.2e}') – The numeric format to print the arrow labels.

  • attribute_to_plot (str, optional, default='net_flux') – specify the attribute of the flux object to plot.

  • show_committor (boolean (default=False)) – Print the committor value on the x-axis.

  • ax (matplotlib.axes.Axes, optional, default=None) – The axes to plot to. When set to None, gca() is used.

  • textkwargs (optional argument for the text of the state and arrow labels.) – See https://matplotlib.org/stable/api/text_api.html for more info. The parameter ‘size’ refers to the size of the state and arrow labels and overwrites the matplotlib default. The parameter ‘arrow_label_size’ is only used for the arrow labels; please note that ‘arrow_label_size’ is not part of matplotlib.text.Text’s set of parameters and will raise an exception when passed to matplotlib.text.Text directly.

Returns:

  • ax (matplotlib.axes.Axes) – Axes object on which the flux was plotted.

  • pos (ndarray) – The positions.