# Plotting and Visualization **Visualization** in scqubits includes energy level diagrams, parameter sweeps, and state representations. ```python from scqubits import Transmon import matplotlib.pyplot as plt transmon = Transmon(EJ=15.0, EC=0.3, ncut=30) # Energy level diagram fig, ax = plt.subplots() evals = transmon.eigenvals(n=6) ax.hlines(evals, 0, 1, colors='b') for i, E in enumerate(evals): ax.text(1.05, E, f'|{i}⟩', va='center') ax.set_xlim(0, 1.5) ax.set_ylabel('Energy (GHz)') ax.set_title('Transmon Energy Levels') plt.show() # Potential and wavefunctions phi = np.linspace(-np.pi, np.pi, 200) V = -15.0 * np.cos(phi) # Josephson potential ax.plot(phi, V, 'k-', label='V(φ)') # Overlay wavefunctions (heuristic) for i in range(3): evec = transmon.eigenvecs(n=i+1)[i] # (Plotting eigenvectors in phase basis requires basis transformation) ax.legend() plt.show() ``` scqubits integrates with matplotlib for standard plots. For complex visualizations, extract matrices and use custom plotting code. Visualization helps debug designs: identify unwanted level crossings, check convergence, compare parameter effects.