Python Matplotlib:我如何知道正在使用哪个颜色映射?

Python Matplotlib:我如何知道正在使用哪个颜色映射?,python,matplotlib,plot,seaborn,Python,Matplotlib,Plot,Seaborn,我在matplotlib和seaborn中玩彩色地图,尝试了很多,尝试制作自己的 但是现在我想知道我使用的是哪种颜色贴图。我该怎么做?是否有类似于matplotlib.whichColormap的命令?通常不需要找出您正在使用的颜色映射,因为您自己定义了它。也就是说打电话的时候 plt.imshow(..., cmap="viridis") 您已经知道您正在使用“viridis” 如果您仍然觉得从现有的ScalarMapable中获取该信息很有用,可以使用get\u cmap()及其name属

我在matplotlib和seaborn中玩彩色地图,尝试了很多,尝试制作自己的


但是现在我想知道我使用的是哪种颜色贴图。我该怎么做?是否有类似于
matplotlib.whichColormap
的命令?

通常不需要找出您正在使用的颜色映射,因为您自己定义了它。也就是说打电话的时候

plt.imshow(..., cmap="viridis")
您已经知道您正在使用“viridis”

如果您仍然觉得从现有的ScalarMapable中获取该信息很有用,可以使用
get\u cmap()
及其
name
属性:

import matplotlib.pyplot as plt
import numpy as np

a = np.random.rand(4,5)
fig, ax = plt.subplots()
im = ax.imshow(a, cmap="viridis")

cm = im.get_cmap()
print(cm.name)  # prints viridis

谢谢但是,这在我使用
matplotlib.colors.ListedColormap(['red','gold','limegreen'))的情况下不起作用。因为当我这样做的时候,我只会得到这样的东西:
,这对我来说毫无意义。当然,但是你希望得到什么呢?好的,包含信息的东西,比如实际的列表或其他对象,是一个对象。除了你要的那件,你还想要什么?您可以通过
cm.colors
获取颜色,但由于大多数内置的颜色贴图都有256种颜色,因此您将得到一个很长的列表。