qml.drawer

drawer模块包含生成电路可视化的代码。

该模块提供用于以可视方式显示电路的电路绘制功能。

函数

draw(qnode[, wire_order, show_all_wires, ...])

创建一个函数,用于绘制给定的 qnode 或量子函数。

draw_mpl(qnode[, wire_order, ...])

用matplotlib绘制qnode

tape_mpl(tape[, wire_order, show_all_wires, ...])

从磁带生成一个 matplotlib 图形。

tape_text(tape[, wire_order, ...])

基于文本的量子带图。

MPLDrawer(n_layers, wire_map[, c_wires, ...])

允许使用matplotlib轻松创建表示电路的图形

样式化 Matplotlib 电路图形

drawer 模块提供了两个用于修改 matplotlib 图形样式的函数,例如由 qml.draw_mpl 生成的图形。 qml.drawer.use_style 函数修改 plt.rcParams 全局样式变量。任何样式可以通过 qml.drawer.use_style('black_white') 进行重置。

available_styles()

获取可用的样式说明字符串。

use_style(样式)

设置样式设置。

以下图像是通过以下代码生成的,其中 style 被可用的样式规范字符串替换(例如, "pennylane""solarized_light"):

@qml.qnode(qml.device('lightning.qubit', wires=(0,1,2,3)))
def circuit(x, z):
    qml.QFT(wires=(0,1,2,3))
    qml.Toffoli(wires=(0,1,2))
    qml.CSWAP(wires=(0,2,3))
    qml.RX(x, wires=0)
    qml.CRZ(z, wires=(3,0))
    return qml.expval(qml.PauliZ(0))

qml.drawer.use_style(style)
fig, ax = qml.draw_mpl(circuit)(1.2345, 1.2345)

请注意,所示的 pennylane 风格可以通过安装 Quicksand Bold 字体并刷新 Matplotlib 字体缓存(通过删除 fontlist 文件在 Matplotlib 缓存目录中)来完全复制——要找到缓存目录,可以运行 matplotlib.get_cachedir()。如果此字体不可用,绘制器将回退到默认字体。

当前可用样式

bws

bwd

sks

pls

plw

skd

sol

sod

def