def _matplotlib_circuit_drawer(circuit, scale=0.7, filename=None, style=None, plot_barriers=True, reverse_bits=False): """Draw a quantum circuit based on matplotlib. If `%matplotlib inline` is invoked in a Jupyter notebook, it visualizes a circuit inline. We recommend `%config InlineBackend.figure_format = 'svg'` for the inline visualization. Args: circuit (QuantumCircuit): a quantum circuit scale (float): scaling factor filename (str): file path to save image to style (dict or str): dictionary of style or file name of style file reverse_bits (bool): When set to True reverse the bit order inside registers for the output visualization. plot_barriers (bool): Enable/disable drawing barriers in the output circuit. Defaults to True. Returns: matplotlib.figure: a matplotlib figure object for the circuit diagram """ qcd = _matplotlib.MatplotlibDrawer(scale=scale, style=style, plot_barriers=plot_barriers, reverse_bits=reverse_bits) qcd.parse_circuit(circuit) return qcd.draw(filename)
def _matplotlib_circuit_drawer(circuit, basis='id,u0,u1,u2,u3,x,y,z,h,s,sdg,t,tdg,rx,' 'ry,rz,cx,cy,cz,ch,crz,cu1,cu3,swap,ccx,' 'cswap', scale=0.7, filename=None, style=None): """Draw a quantum circuit based on matplotlib. If `%matplotlib inline` is invoked in a Jupyter notebook, it visualizes a circuit inline. We recommend `%config InlineBackend.figure_format = 'svg'` for the inline visualization. Args: circuit (QuantumCircuit): a quantum circuit basis (str): comma separated list of gates scale (float): scaling factor filename (str): file path to save image to style (dict or str): dictionary of style or file name of style file Returns: PIL.Image: an in-memory representation of the circuit diagram """ if ',' not in basis: logger.warning('Warning: basis is not comma separated: "%s". ' 'Perhaps you set `filename` to `basis`.', basis) qcd = _matplotlib.MatplotlibDrawer(basis=basis, scale=scale, style=style) qcd.parse_circuit(circuit) return qcd.draw(filename)
def _matplotlib_circuit_drawer(circuit, scale=0.7, filename=None, style=None, plot_barriers=True, reverse_bits=False, justify=None): """Draw a quantum circuit based on matplotlib. If `%matplotlib inline` is invoked in a Jupyter notebook, it visualizes a circuit inline. We recommend `%config InlineBackend.figure_format = 'svg'` for the inline visualization. Args: circuit (QuantumCircuit): a quantum circuit scale (float): scaling factor filename (str): file path to save image to style (dict or str): dictionary of style or file name of style file reverse_bits (bool): When set to True reverse the bit order inside registers for the output visualization. plot_barriers (bool): Enable/disable drawing barriers in the output circuit. Defaults to True. justify (str) : `left`, `right` or `none`. Defaults to `left`. Says how the circuit should be justified. Returns: matplotlib.figure: a matplotlib figure object for the circuit diagram """ qregs, cregs, ops = _utils._get_layered_instructions(circuit, reversebits=reverse_bits, justify=justify) qcd = _matplotlib.MatplotlibDrawer(qregs, cregs, ops, scale=scale, style=style, plot_barriers=plot_barriers, reverse_bits=reverse_bits) return qcd.draw(filename)
def _matplotlib_circuit_drawer(circuit, basis='id,u0,u1,u2,u3,x,y,z,h,s,sdg,t,tdg,rx,' 'ry,rz,cx,cy,cz,ch,crz,cu1,cu3,swap,ccx,' 'cswap', scale=0.7, filename=None, style=None, plot_barriers=True, reverse_bits=False): """Draw a quantum circuit based on matplotlib. If `%matplotlib inline` is invoked in a Jupyter notebook, it visualizes a circuit inline. We recommend `%config InlineBackend.figure_format = 'svg'` for the inline visualization. Args: circuit (QuantumCircuit): a quantum circuit basis (str): comma separated list of gates scale (float): scaling factor filename (str): file path to save image to style (dict or str): dictionary of style or file name of style file reverse_bits (bool): When set to True reverse the bit order inside registers for the output visualization. plot_barriers (bool): Enable/disable drawing barriers in the output circuit. Defaults to True. Returns: matplotlib.figure: a matplotlib figure object for the circuit diagram """ if ',' not in basis: logger.warning( 'Warning: basis is not comma separated: "%s". ' 'Perhaps you set `filename` to `basis`.', basis) qcd = _matplotlib.MatplotlibDrawer(basis=basis, scale=scale, style=style, plot_barriers=plot_barriers, reverse_bits=reverse_bits) qcd.parse_circuit(circuit) return qcd.draw(filename)