Я пытаюсь построить цветную панель в Python, используя библиотеки matplotlib. Сюжет хорошо работает, но цветная полоска не показывает концевые тики на цветовой полосе.End ticks in colorbar - matplotlib
Использование следующей команды приводит к правильной цветовой шкале, но у меня есть только галочки от -1,6 до +1,6 (верхние и нижние тики отсутствуют). Диапазон моих данных от -2 до +2.
fig.colorbar(surf, shrink=1, aspect=12)
Это видно на следующем рисунке:
Я попытался с помощью команды:
cbar.set_ticks([-2,-1,0,1,2]);
Но это также не удалось получить правильный результат.
UPDATE:
Я попытался с помощью клещей = [- 2,0,2] параметр, но это не работает, как хорошо. Это фрагмент моего черчения кода:
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
CHI = np.linspace(-45, 45, 35);
M = np.linspace(0, 1, 35)
CHI, M = np.meshgrid(CHI, M)
R = 2*M*np.sin( 2 * np.deg2rad(CHI))
surf = ax.plot_surface(CHI, M, R, rstride=1, cstride=1, cmap=cm.hsv,linewidth=0, antialiased=False)
ax.set_xlim(-45,45)
cbar = plt.colorbar(surf, shrink=1, aspect=12, ticks=[-2,-1,0,1,2])
plt.show()
Это дает следующий сюжет:
Как видно, Colorbar не хватает конца клещей, а именно. -2 и 2
Вы забыли называть 'plt.draw()' после 'set_ticks'? Большинство функций автоматически не запускают повторные розыгрыши. – tacaswell
@unutbu - обновленный вопрос – shaunakde