Python 如何使用mpl_toolkits.basemap.cm中的颜色映射创建离散的颜色条?
当我使用matplotlib.cm中的colormapPython 如何使用mpl_toolkits.basemap.cm中的颜色映射创建离散的颜色条?,python,numpy,matplotlib,matplotlib-basemap,colormap,Python,Numpy,Matplotlib,Matplotlib Basemap,Colormap,当我使用matplotlib.cm中的colormap(如“jet”,“Set2”等)绘制pcolormesh绘图时,我可以使用: cMap = plt.cm.get_cmap("jet",lut=6) 颜色栏显示如下: 但是如果我想从Basemap包调用colormap(比如GMT\u drywet,GMT\u no\u green,等等)。我无法使用plt.cm,获取\u cmap来获取这些颜色映射并对其进行分割 mpl\u工具包.basemap.cm是否具有类似于lut的功能
(如“jet”
,“Set2”
等)绘制pcolormesh绘图时,我可以使用:
cMap = plt.cm.get_cmap("jet",lut=6)
颜色栏显示如下:
但是如果我想从Basemap
包调用colormap(比如GMT\u drywet
,GMT\u no\u green
,等等)。我无法使用plt.cm,获取\u cmap
来获取这些颜色映射并对其进行分割
mpl\u工具包.basemap.cm
是否具有类似于lut
的功能 只要正在绘制的绘图具有离散的颜色值(例如轮廓
或轮廓
),则颜色条
应自动生成具有离散步骤的颜色条。以下是基于以下内容的绘图:
在@tacaswell的上面进行扩展,您可以使用\u重采样
方法实现相同的功能。这将为pcolor
/pcolormesh
绘图生成分段彩色贴图,这些绘图不会生成像contourf
这样的离散阶跃色条。要达到与您在问题中使用jet时相同的效果:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import cm
plt.figure()
cmap = cm.GMT_drywet._resample(6)
pm = plt.pcolormesh(np.random.rand(10,8), cmap=cmap)
plt.colorbar(pm, orientation='horizontal')
plt.show()
您想在哪种类型的绘图中添加颜色条?您可以显示一个吗?您可以在彩色地图对象上使用私有方法\u resample
。不确定为什么这个方法是私有的…谢谢!但是当我使用pcolor/pcolormesh类型的绘图时,它不起作用。这是因为pcolor
使用连续变化的颜色贴图而不是离散级别来绘制数据。如果您编辑了您的问题,以便更清楚地解释您要查找的结果,并显示您当前用于生成绘图的代码,这会有所帮助。
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import cm
plt.figure()
cmap = cm.GMT_drywet._resample(6)
pm = plt.pcolormesh(np.random.rand(10,8), cmap=cmap)
plt.colorbar(pm, orientation='horizontal')
plt.show()