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

绘制1D Ising链时全同自旋场景下colormap/colorbar显示异常如何解决

出现该问题的核心原因是plt.imshow()默认会根据输入数组的最值动态调整颜色映射的取值范围:当数组中所有元素值相同时,最大值与最小值相等,颜色范围塌缩,就会出现colormap和colorbar显示异常的情况。

你只需要在调用imshow时手动指定vmin和vmax参数,固定颜色映射的上下边界为-1和1即可解决该问题,修改后的代码如下:

L = 100
# chain可替换为Metropolis算法输出的自旋链结果
chain = np.random.choice([-1,1], L)
new = np.reshape(chain,(1,100))
plt.figure()
# 新增vmin、vmax参数固定颜色映射范围
plt.imshow(new, cmap=plt.cm.get_cmap('gray', 2), vmin=-1, vmax=1)
plt.colorbar(ticks= (-1,1), label='spin', shrink = 0.25)
plt.show()

修改后无论自旋链最终是全向上、全向下还是混合态,灰度映射都会严格对应-1和1的取值,colorbar也会正常显示两个刻度。

内容的提问来源于stack exchange,提问作者Tim Johnson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:24:04