首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在matplotlib 1.4中使用viridis

如何在matplotlib 1.4中使用viridis
EN

Stack Overflow用户
提问于 2015-09-10 00:08:21
回答 4查看 30K关注 0票数 19

我想使用色彩映射表"viridis“(http://bids.github.io/colormap/),而且我还不会更新到开发版本1.5。因此,我已经从https://github.com/BIDS/colormap下载了colormaps.py。不幸的是,我不能让它工作。这就是我要做的:

代码语言:javascript
复制
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。可能的值有:光谱、夏季、凉爽、...

(然后是最初安装的色彩映射表的完整列表。)

对如何解决这个问题有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-10 00:32:01

要使用set_cmapviridis设置为色彩贴图,必须先注册它:

代码语言:javascript
复制
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)
票数 16
EN

Stack Overflow用户

发布于 2015-09-10 00:29:38

您可以直接在pcolormesh调用中设置cmap,而不是使用需要matplotlib.colors.Colormap实例的set_cmap

(cmaps.viridis是一个matplotlib.colors.ListedColormap)

代码语言:javascript
复制
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)
票数 12
EN

Stack Overflow用户

发布于 2015-11-06 02:43:08

我所做的就是复制

代码语言:javascript
复制
_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

并添加:

代码语言:javascript
复制
from matplotlib.colors import ListedColormap

viridis = ListedColormap(_viridis_data, name='viridis')

plt.register_cmap(name='viridis', cmap=viridis)
plt.set_cmap(viridis)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32484453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档