pulse_scheme ============ .. py:module:: quantify_scheduler.schedules._visualization.pulse_scheme .. autoapi-nested-parse:: Module containing functions for drawing pulse schemes and circuit diagrams using matplotlib. Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: quantify_scheduler.schedules._visualization.pulse_scheme.new_pulse_fig quantify_scheduler.schedules._visualization.pulse_scheme.new_pulse_subplot quantify_scheduler.schedules._visualization.pulse_scheme.mwPulse quantify_scheduler.schedules._visualization.pulse_scheme.fluxPulse quantify_scheduler.schedules._visualization.pulse_scheme.ramZPulse quantify_scheduler.schedules._visualization.pulse_scheme.interval quantify_scheduler.schedules._visualization.pulse_scheme.meter quantify_scheduler.schedules._visualization.pulse_scheme.box_text Attributes ~~~~~~~~~~ .. autoapisummary:: quantify_scheduler.schedules._visualization.pulse_scheme.logger .. py:data:: logger .. py:function:: new_pulse_fig(figsize: Optional[Tuple[int, int]] = None, ax: Optional[matplotlib.axes.Axes] = None) -> Tuple[matplotlib.figure.Figure, Union[matplotlib.axes.Axes, List[matplotlib.axes.Axes]]] Open a new figure and configure it to plot pulse schemes. :param figsize: Size of the figure. :param ax: Axis to use for plotting. If ``None``, then creates a new one. :returns: Tuple of figure handle and axis handle. .. py:function:: new_pulse_subplot(fig: matplotlib.figure.Figure, *args, **kwargs) -> matplotlib.axes.Axes Add a new subplot configured for plotting pulse schemes to a figure. All `*args` and `**kwargs` are passed to fig.add_subplot. :param fig: Figure to add the subplot to. :param \*args: Positional arguments to pass to fig.add_subplot. :param \*\*kwargs: Keyword arguments to pass to fig.add_subplot. .. py:function:: mwPulse(ax: matplotlib.axes.Axes, pos: float, y_offs: float = 0.0, width: float = 1.5, amp: float = 1, label: Optional[str] = None, phase=0, label_height: float = 1.3, color: str = constants.COLOR_ORANGE, modulation: str = 'normal', **plot_kws) -> float Draw a microwave pulse: Gaussian envelope with modulation. :param ax: Axis to plot on. :param pos: Position of the pulse. :param y_offs: Vertical offset of the pulse. :param width: Width of the pulse. :param amp: Amplitude :param label: Label to add to the pulse. :param label_height: Height of the label. :param color: Color of the pulse. :param modulation: Modulation .. py:function:: fluxPulse(ax: matplotlib.axes.Axes, pos: float, y_offs: float = 0.0, width: float = 2.5, s: float = 0.1, amp: float = 1.5, label: Optional[str] = None, label_height: float = 1.7, color: str = constants.COLOR_ORANGE, **plot_kws) -> float Draw a smooth flux pulse, where the rising and falling edges are given by Fermi-Dirac functions. :param ax: Axis to plot on. :param pos: Position of the pulse. :param y_offs: Vertical offset of the pulse. :param width: Width of the pulse. :param s: smoothness of edge :param amp: Amplitude :param label: Label to add to the pulse. :param label_height: Height of the label. :param color: Color of the pulse. .. py:function:: ramZPulse(ax: matplotlib.axes.Axes, pos: float, y_offs: float = 0.0, width: float = 2.5, s: float = 0.1, amp: float = 1.5, sep: float = 1.5, color: str = constants.COLOR_ORANGE) -> float Draw a Ram-Z flux pulse, i.e. only part of the pulse is shaded, to indicate cutting off the pulse at some time. :param ax: Axis to plot on. :param pos: Position of the pulse. :param y_offs: Vertical offset of the pulse. :param width: Width of the pulse. :param s: smoothness of edge :param amp: Amplitude :param sep: Separation between pulses. :param color: Color of the pulse. .. py:function:: interval(ax: matplotlib.axes.Axes, start: float, stop: float, y_offs: float = 0.0, height: float = 1.5, label: Optional[str] = None, label_height: Optional[str] = None, vlines: bool = True, color: str = 'k', arrowstyle: str = '<|-|>', **plot_kws) -> None Draw an arrow to indicate an interval. :param ax: Axis to plot on. :param pos: Position of the pulse. :param y_offs: Vertical offset of the pulse. :param width: Width of the pulse. :param s: smoothness of edge :param amp: Amplitude :param sep: Separation between pulses. :param color: Color of the pulse. :param arrow_style: .. py:function:: meter(ax: matplotlib.axes.Axes, x0: float, y0: float, y_offs: float = 0.0, width: float = 1.1, height: float = 0.8, color: str = 'black', framewidth: float = 0.0, fillcolor: Optional[str] = None) -> None Draws a measurement meter on the specified position. :param ax: :param x0: :param y0: :param y_offs: :param width: :param height: :param color: :param framewidth: :param fillcolor: .. py:function:: box_text(ax: matplotlib.axes.Axes, x0: float, y0: float, text: str = '', width: float = 1.1, height: float = 0.8, color: str = 'black', fillcolor: Optional[str] = None, textcolor: str = 'black', fontsize: Optional[int] = None) -> None Draws a box filled with text at the specified position. :param ax: :param x0: :param y0: :param text: :param width: :param height: :param color: :param fillcolor: :param textcolor: :param fontsize: