Skip to content

概率分布绘图

用于将量子测量概率分布可视化为柱状图的函数。

plot_probabilities

绘制概率分布的统一接口。接受将状态标签映射到概率的字典,或概率值列表/数组(自动使用狄拉克符号标记)。

签名

python
plot_probabilities(
    data,
    title: str = '',
    figsize: Optional[tuple] = None,
    top_k: Optional[int] = None,
    save: Optional[str] = None
)

参数

参数类型说明
datadictlistarray概率数据。字典将状态标签(如 '00''11')映射到概率值。列表/数组会自动标记为 |0>|1>、...
titlestr图表标题(默认 ''
figsizetuple,可选图形大小,格式为 (width, height)
top_kint,可选仅显示概率最高的前 K 个结果
savestr,可选保存图表图片的文件路径

data 为列表或数组时,键会自动生成为 \|0>\|1>\|2> 等。当指定 top_k 时,仅显示概率值最大的 K 个条目。

示例

python
from pyqpanda3.visualization import plot_probabilities

# From a dictionary (e.g. measurement results)
plot_probabilities({'00': 0.5, '11': 0.5})

# From a list of probabilities
plot_probabilities([0.25, 0.25, 0.25, 0.25])

# Show only top 3 results
plot_probabilities({'00': 0.4, '01': 0.3, '10': 0.2, '11': 0.1}, top_k=3)

draw_probability

根据量子状态标签及其概率的字典绘制概率柱状图。在绘图前,概率会被归一化,使其总和等于 1。

签名

python
draw_probability(list)

参数

参数类型说明
listdict字典,键为量子状态标签,值为对应的(未归一化的)概率

示例

python
from pyqpanda3.visualization import draw_probability

# Plot raw measurement counts (will be normalized)
draw_probability({'00': 500, '01': 50, '10': 50, '11': 400})

draw_probability_dict

绘制过滤后的概率柱状图。与 draw_probability 不同,此函数仅显示概率严格大于零的条目。概率在绘图前会进行归一化。

签名

python
draw_probability_dict(prob_dict)

参数

参数类型说明
prob_dictdict字典,键为量子状态标签,值为对应的概率

示例

python
from pyqpanda3.visualization import draw_probability_dict

# Only non-zero probability states are displayed
draw_probability_dict({'00': 0.5, '01': 0.0, '10': 0.0, '11': 0.5})

另见

Released under the MIT License.