如何在Matplotlib中设置默认颜色映射

2024-05-19 12:03:49 发布

您现在位置:Python中文网/ 问答频道 /正文

尤其是在处理灰度图像时,将每个imshow命令的颜色映射设置为imshow(i, cmap='gray')是很乏味的。如何将matplotlib使用的默认颜色映射设置为灰度或任何其他颜色映射?


Tags: 图像命令matplotlib颜色灰度cmapimshowgray
2条回答

你也可以

plt.set_cmap('jet')

或者

plt.rcParams['image.cmap']='jet'

但是请注意,如果在任何api中传递color参数的值,则将忽略此默认值。在这种情况下,你应该这样做:

color = plt.cm.hsv(r) # r is 0 to 1 inclusive
line = matplotlib.lines.Line2D(xdata, ydata, color=color)

若要仅更改当前交互会话或一个脚本的默认颜色映射,请使用

import matplotlib as mpl
mpl.rc('image', cmap='gray')

对于2.0之前的matplotlib版本,必须使用rcParams dict。这在较新版本中仍然有效。

import matplotlib.pyplot as plt
plt.rcParams['image.cmap'] = 'gray'

要永久更改默认颜色映射,请编辑matplotlibrc配置文件并添加image.cmap: gray行。 根据需要,将值gray替换为任何其他有效的colormap。 配置文件应该位于~/.config/matplotlib/matplotlibrc,但是您可以使用

mpl.matplotlib_fname()

如果在不同的虚拟环境中有多个matplotlib版本,则此功能尤其有用。

另见http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html 以及Matplotlibhttp://matplotlib.org/users/customizing.html的一般配置

相关问题 更多 >

    热门问题