Я хочу сделать контурный график некоторых данных, но не исключено, что все значения в поле совпадают. Это вызывает ошибку в matplotlib, что имеет смысл, поскольку на самом деле не существует контура, который нужно создать. Например, если вы запустите приведенный ниже код, вы получите сообщение об ошибке, но удалите второе определение zi
, и оно будет работать, как ожидается.
Как сделать контурный график для некоторых данных, если это однородное поле? Я хочу, чтобы он выглядел так же, как обычный контурный график (чтобы была рамка, заполненная каким-то цветом, и чтобы отображалась цветная полоса сбоку. Цветная полоса могла бы быть однородного цвета или все же отображать диапазон из 15 цветов, я не все равно).
Код:
from numpy import array
import matplotlib.pyplot as plt
xi = array([0., 0.5, 1.0])
yi = array([0., 0.5, 1.0])
zi = array([[0., 1.0, 2.0],
[0., 1.0, 2.0],
[0., 1.0, 2.0]])
zi = array([[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0],
[1.0, 1.0, 1.0]])
CS = plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
CS = plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()