Как использовать виридис в библиотек matplotlib 1.4
Я хочу использовать цветовую карту "viridis" (http://bids.github.io/colormap/), и я еще не буду обновляться до версии разработки 1.5. Таким образом, я скачал colormaps.py от https://github.com/BIDS/colormap. К сожалению, у меня ничего не получается. Вот что я делаю:--8-->
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import colormaps as cmaps
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
plt.set_cmap(cmaps.viridis)
imgplot = plt.pcolormesh(lum_img)
Это дает мне ValueError, трассировка заканчивается на,
ValueError: цветовая карта viridis не распознается. Возможные значения: Спектральные, лето, coolwarm, ...
(а затем полный список первоначально установленных цветовых карт.)
любые мысли о том, как исправить эту проблему?
4 ответов
установить viridis как ваша цветовая карта с помощью set_cmap, вы должны зарегистрировать его сначала:
import colormaps as cmaps
plt.register_cmap(name='viridis', cmap=cmaps.viridis)
plt.set_cmap(cmaps.viridis)
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
imgplot = plt.pcolormesh(lum_img)
вместо set_cmap, для чего требуется matplotlib.colors.Colormap примеру, вы можете установить cmap непосредственно в pcolormesh вызов
(cmaps.viridis это matplotlib.colors.ListedColormap)
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
import colormaps as cmaps
img=mpimg.imread('stinkbug.png')
lum_img = np.flipud(img[:,:,0])
imgplot = plt.pcolormesh(lum_img, cmap=cmaps.viridis)
то, что я сделал, это просто скопировать
_viridis_data = [[0.267004, 0.004874, 0.329415],
[0.268510, 0.009605, 0.335427],
[0.269944, 0.014625, 0.341379],
:
[0.983868, 0.904867, 0.136897],
[0.993248, 0.906157, 0.143936]]
от https://github.com/BIDS/colormap/blob/master/colormaps.py
и добавить:
from matplotlib.colors import ListedColormap
viridis = ListedColormap(_viridis_data, name='viridis')
plt.register_cmap(name='viridis', cmap=viridis)
plt.set_cmap(viridis)
загрузить colormaps.py от здесь,тогда:
import os,sys
scriptpath = "/Your downloading path/colormap-master/"
sys.path.append(os.path.abspath(scriptpath))
import colormaps as cmaps
готово!