X, Y и Z - мои 3 массива. Я бы хотел наложить максимальную и минимальную цветовую шкалу , а отобразить эти цифры в верхней и нижней части цветовой шкалы (например, со средним значением 2).
import sys
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
import numpy
from numpy.random import randn
from scipy import array, newaxis
import matplotlib.ticker as ticker
## plot:
fig = plt.figure("2D plot")
contour = plt.tricontourf(X, Y, Z, 200, cmap="bwr")
def fmt(x, pos):
a, b = '{:.2e}'.format(x).split('e')
b = int(b)
return r'${} \times 10^{{{}}}$'.format(a, b)
plt.colorbar(contour, format=ticker.FuncFormatter(fmt))
plt.show()
Независимо от того, как я это делаю, максимум и минимум цветовой полосы не меняются. Даже если синий цвет начинается с 0 и заканчивается на макс.