可视化

English

可视化是可选层,Matplotlib 只在调用时延迟导入。

python -m pip install "latticegeom[plot]"

基本绘图

import matplotlib.pyplot as plt

from latticegeom import kagome

lat = kagome((3, 3), pbc=True)
ax = lat.plot(
    draw_plaquettes=True,
    plaquette_arrows=True,
    site_labels=True,
)
ax.set_title("Typed Kagome geometry")
plt.show()

Lattice.plotplot_lattice 的薄封装。二者都返回普通 Matplotlib axes, 且不会调用 show()

周期显示模式

periodic= 控制穿越有限模拟盒的关系:

  • "unfold" 把端点放在真实周期像中,是默认模式;
  • "hide" 隐藏跨边界 bond 和 plaquette;
  • "fold" 用虚线连接折回后的有限 site。

检查 super_idx 时应使用 unfold,紧凑总览图可使用 fold。还可用 show_periodic_sitesshow_boundaryshow_unit_cellshow_basis 补充几何背景。

类型、方向与反向 bond

site、bond 与 plaquette 颜色按几何类型分配,可用 site_colors=bond_colors=plaquette_colors= 覆盖指定类型。bond 箭头显示声明方向; plaquette_arrows=True 显示保存的 loop 方向。

include_reverse=True 可绘制派生反向 bond,而不把它们加入规范几何。方向无关时可 设置 arrows=False,使用批量线段绘制。

外部数值

模型结果可直接标注而不修改晶格:

lat.plot(
    bond_values=phase_by_bond,
    plaquette_values=flux,
    value_format=".3f",
)

bond 数值与规范 bond 行一一对应;显示反向 bond 时复用对应规范值。plaquette 数值 必须与编译后的 plaquette 数量一致。

嵌入晶格

一维晶格会画在水平轴上。笛卡尔嵌入维数高于二维时,需要指定两个不同分量:

lat.plot(projection=(0, 2))

绘图只是基于公开编译数组的诊断视图;Lattice 不保存色图、artist 或渲染状态。