概率分布绘图
用于将量子测量概率分布可视化为柱状图的函数。
plot_probabilities
绘制概率分布的统一接口。接受将状态标签映射到概率的字典,或概率值列表/数组(自动使用狄拉克符号标记)。
签名
python
plot_probabilities(
data,
title: str = '',
figsize: Optional[tuple] = None,
top_k: Optional[int] = None,
save: Optional[str] = None
)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| data | dict 或 list 或 array | 概率数据。字典将状态标签(如 '00'、'11')映射到概率值。列表/数组会自动标记为 |0>、|1>、... |
| title | str | 图表标题(默认 '') |
| figsize | tuple,可选 | 图形大小,格式为 (width, height) |
| top_k | int,可选 | 仅显示概率最高的前 K 个结果 |
| save | str,可选 | 保存图表图片的文件路径 |
当 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)参数
| 参数 | 类型 | 说明 |
|---|---|---|
| list | dict | 字典,键为量子状态标签,值为对应的(未归一化的)概率 |
示例
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_dict | dict | 字典,键为量子状态标签,值为对应的概率 |
示例
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})另见
- visualization 模块 -- 量子线路绘制与显示配置
- bloch.md -- Bloch 球可视化