How to set default colormap in Matplotlib

女生的网名这么多〃 提交于 2019-12-17 15:48:10

问题


Especially when working with grayscale images it is tedious to set the color map for every imshow command as imshow(i, cmap='gray'). How can I set the default color map matplotlib uses to grayscale or any other colormap?


回答1:


To change the default colormap only for the current interactive session or one script use

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

For versions of matplotlib prior to 2.0 you have to use the rcParams dict. This still works in newer versions.

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

To change the default colormap permanently edit the matplotlibrc configuration file and add the line image.cmap: gray. Replace the value gray with any other valid colormap according to your needs. The config file should be at ~/.config/matplotlib/matplotlibrc, but you can find out the exact location with

mpl.matplotlib_fname()

This is especially useful if you have multiple matplotlib versions in different virtual environments.

See also http://txt.arboreus.com/2014/10/21/how-to-set-default-colormap-in-matplotlib.html and for general configuration of Matplotlib http://matplotlib.org/users/customizing.html




回答2:


You can do either,

plt.set_cmap('jet')

or

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

However note that if you are passing value for color parameter in any of the APIs then this default will be ignored. In that case you should do something like this:

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


来源:https://stackoverflow.com/questions/33185037/how-to-set-default-colormap-in-matplotlib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!