Skip to content

Visualization ​

The pyqpanda3.visualization module provides tools for visualizing quantum states, circuits, and probability distributions using matplotlib, including Bloch sphere plots, state vector diagrams, probability bar charts, and circuit drawings with statistics and ASCII art. It also provides instruction-schedule visualization (draw_time_scheduling()) to render the scheduled instruction stream produced by QProg.to_instruction() as a timeline figure.

Import ​

python
from pyqpanda3 import visualization
# or
import pyqpanda3.visualization

Sub-topics ​

TopicDescription
Bloch SphereBloch sphere plotting functions
Quantum StateState vector and density matrix visualization
ProbabilityProbability distribution plotting
CircuitCircuit drawing, statistics, and ASCII art
Time Schedulingdraw_time_scheduling(), parse_instruction_schedule(), and other schedule visualization

The .draw() Method ​

After importing the visualization module, QProg and QCircuit objects gain a .draw() convenience method for quick circuit rendering:

python
from pyqpanda3 import visualization
from pyqpanda3.core import QCircuit, H, CNOT

visualization  # triggers the monkey-patch

circuit = QCircuit(2)
circuit << H(0) << CNOT(0, 1)
print(circuit.draw())

Output:

          ┌─┐        
q_0:  |0>─┤H├ ───*── 
          └─┘ ┌──┴─┐ 
q_1:  |0>──── ┤CNOT├ 
              └────┘ 
 c :   / ═══════════

Example ​

python
from pyqpanda3 import visualization
from pyqpanda3.core import CPUQVM, QProg, H, CNOT, measure

# Build and run a Bell-state program
prog = QProg()
prog << H(0) << CNOT(0, 1) << measure(0, 0) << measure(1, 1)
qvm = CPUQVM()
qvm.run(prog, 1000)
state = qvm.result().get_state_vector()

# Plot the resulting quantum state
fig = visualization.plot_state(state)
print(type(fig).__name__)

Released under the MIT License.