Почему моя цветовая панель не отображает цвета? - PullRequest
0 голосов
/ 07 февраля 2020

Конечно, я упускаю что-то очевидное, но мне не очень понравилась цветовая полоса, которую Matplotlib создал для меня в конце этого примера

import matplotlib.pyplot as plt 
import numpy as np

x = np.arange(50)
xy = x*x[:,None]/200 # 0.000 to 12.005

plt.contourf(xy, levels=100)
plt.contour(xy,levels=12, colors='black').clabel(inline=1, fmt='%.2f')
plt.colorbar()

colorbars should be colored

1 Ответ

4 голосов
/ 07 февраля 2020

Попробуйте изменить порядок контуров, поскольку plt захватит последний объект, а ваш контур с 12 уровнями не имеет цветов:

import matplotlib.pyplot as plt 
import numpy as np

x = np.arange(50)
xy = x*x[:,None]/200 # 0.000 to 12.005

plt.contour(xy, levels=12, colors='black').clabel(inline=1, fmt='%.2f')
plt.contourf(xy, levels=100)
plt.colorbar()

ИЛИ: вы может передать требуемый контур в plt.colobar() напрямую:

...
c = plt.contourf(xy, levels=100)
plt.contour(xy, levels=12, colors='black').clabel(inline=1, fmt='%.2f')
plt.colorbar(c)

img

С тем же значением уровней:

...
plt.contour(xy, levels=12, colors='black').clabel(inline=1, fmt='%.2f')
plt.contourf(xy, levels=12)
plt.colorbar()

img2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...