You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Qiskit的mpl模式绘制量子电路时输出Figure(...)无法显示图像如何解决

问题解答

1. Figure(...)的含义

该输出是Qiskit调用Matplotlib生成的Figure画布对象的默认文本表示,仅包含画布的尺寸信息,不是实际渲染的电路图。你用print()直接打印该对象只会输出这串标识,不会触发图像渲染。

2. 不同环境下的查看方法

Jupyter 环境

  • 首先在代码开头添加魔法命令:%matplotlib inline,保证Matplotlib生成的图像可以直接嵌入在Notebook单元格的输出区域
  • 不要用print()包裹Qc.draw(output='mpl')语句,直接单独写该语句即可,修改后对应代码段如下:
from qiskit import *
%matplotlib inline # 同个Notebook内只需要运行一次,后续单元格无需重复添加

qr = QuantumRegister(2)
cr = ClassicalRegister(2)

Qc = QuantumCircuit(qr,cr)

print ('This is the initial state')
Qc.draw(output = 'mpl') # 去掉外层的print()包裹

Spyder 环境

  • 确认你已经开启了Spyder的IPython控制台的Matplotlib内联渲染,或者配置为弹出独立窗口显示图像
  • 同样不要用print()包裹draw语句,调用draw之后再调用Matplotlib的show方法即可,修改后对应代码段如下:
from qiskit import *
import matplotlib.pyplot as plt # 需导入matplotlib的pyplot模块

qr = QuantumRegister(2)
cr = ClassicalRegister(2)

Qc = QuantumCircuit(qr,cr)

print ('This is the initial state')
Qc.draw(output = 'mpl')
plt.show() # 触发画布渲染

通用兜底方案

如果你需要把生成的电路图保存到本地文件直接查看,可以在draw方法中指定filename参数,示例:
Qc.draw(output='mpl', filename='my_circuit.png')
运行后会直接在当前工作目录生成png格式的电路图文件,你可以直接打开查看。

内容的提问来源于stack exchange,提问作者Utsav Niroula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:57:03