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

时间:2015-10-17 09:35:01

标签: python matplotlib color-mapping

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

2 个答案:

答案 0 :(得分:23)

要仅为当前交互式会话更改默认色彩映射,或使用

更改一个脚本
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。 根据需要将值替换为任何其他有效的colormap。 配置文件应位于~/.config/matplotlib/matplotlibrc,但您可以使用

找到确切的位置
mpl.matplotlib_fname()

如果您在不同的虚拟环境中有多个matplotlib版本,这将特别有用。

另见http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html 以及Matplotlib http://matplotlib.org/users/customizing.html

的一般配置

答案 1 :(得分:0)

您可以选择

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)