Python / Matplotlib - Intervalo da barra de cores e valores de exibição

Ao usar o matplotlib com uma plotagem de contorno, estou tendo problemas para exibir a barra de cores conforme desejado. Li vários exemplos semelhantes, mas ainda não consegui o que quero.

Na imagem abaixo, quero duas coisas alteradas. Quero que o valor mínimo e o valor máximo sejam exibidos na barra de cores (o máximo deve ser 2,0 e o mínimo -0,1). Esses dois valores devem estar na extremidade da barra de cores. Além disso, quero que a barra de cores exiba o valor em cada transição de cores. Por exemplo. no gráfico abaixo, entre 2,1 e 1,8, há outra transição de cores em que o valor não é exibid

Alguém pode me ajudar por favor? Acho que preciso usar a norma, mas até agora não funcionou para mim.

Obrigado

Código

import numpy as np
import matplotlib.pyplot as plt

xi = np.array([0., 0.5, 1.0])
yi = np.array([0., 0.5, 1.0])
zi = np.array([[0., 1.0, 2.0],
               [0., 1.0, 2.0],
               [-0.1, 1.0, 2.0]])

plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()

questionAnswers(1)

yourAnswerToTheQuestion