如何在 matplotlib 1.4 中使用 viridis
How to use viridis in matplotlib 1.4
我想使用颜色图 "viridis"(http://bids.github.io/colormap/), and I won't be updating to the development version 1.5 quite yet. Thus, I have downloaded colormaps.py
from https://github.com/BIDS/colormap。不幸的是,我无法让它工作。这就是我所做的:
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: Colormap viridis is not recognized. Possible values are: Spectral, summer, coolwarm, ...
(然后是最初安装的颜色图的完整列表。)
关于如何解决这个问题有什么想法吗?
与其使用需要 matplotlib.colors.Colormap
实例的 set_cmap
,不如直接在 pcolormesh
调用
中设置 cmap
(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)
要使用 set_cmap
将 viridis
设置为您的颜色图,您必须先注册它:
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)
我所做的只是复制
_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)
从 here 下载 colormaps.py,然后:
import os,sys
scriptpath = "/Your downloading path/colormap-master/"
sys.path.append(os.path.abspath(scriptpath))
import colormaps as cmaps
完成!
我想使用颜色图 "viridis"(http://bids.github.io/colormap/), and I won't be updating to the development version 1.5 quite yet. Thus, I have downloaded colormaps.py
from https://github.com/BIDS/colormap。不幸的是,我无法让它工作。这就是我所做的:
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: Colormap viridis is not recognized. Possible values are: Spectral, summer, coolwarm, ...
(然后是最初安装的颜色图的完整列表。)
关于如何解决这个问题有什么想法吗?
与其使用需要 matplotlib.colors.Colormap
实例的 set_cmap
,不如直接在 pcolormesh
调用
cmap
(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)
要使用 set_cmap
将 viridis
设置为您的颜色图,您必须先注册它:
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)
我所做的只是复制
_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)
从 here 下载 colormaps.py,然后:
import os,sys
scriptpath = "/Your downloading path/colormap-master/"
sys.path.append(os.path.abspath(scriptpath))
import colormaps as cmaps
完成!