100 в ax.contourf()
означает, что вы хотите 100 уровней в контуре.У вас есть значения, которые превышают 0,5 в самом графике.
Вы можете настроить диапазон тиков цветовой полосы как таковой.
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
cbarticks = np.arange(0.0,0.55,0.05)
x = np.linspace(0,1,100)
X,Y = np.meshgrid(x,x,indexing="ij")
im = ax.contourf(X,Y,X**2-Y**2, cbarticks, vmin = 0, vmax = 0.5)
plt.colorbar(im, ax=ax,ticks=cbarticks)
plt.show()
, который даст вам

Не уверен, что это именно то, что вы хотите, но у меня был похожий вопрос и ответэто сам здесь: Colorbar Вопрос