Python 使用matplotlib'时指定颜色;斯普科洛梅什酒店

Python 使用matplotlib'时指定颜色;斯普科洛梅什酒店,python,matplotlib,Python,Matplotlib,使用matplotlib,我希望能够使用pcolormesh指定精确的颜色。这是我试过的 import numpy as np from matplotlib import pyplot as plt 顶级进口 X = np.linspace(0,1,100) Y = np.linspace(0,1,100) X,Y = np.meshgrid(X,Y) Z = (X**2 + Y**2) < 1. Z = Z.astype(int) Z += (X**2 + Y**2) < .5

使用matplotlib,我希望能够使用pcolormesh指定精确的颜色。这是我试过的

import numpy as np
from matplotlib import pyplot as plt
顶级进口

X = np.linspace(0,1,100)
Y = np.linspace(0,1,100)
X,Y = np.meshgrid(X,Y)
Z = (X**2 + Y**2) < 1.
Z = Z.astype(int)
Z += (X**2 + Y**2) < .5
使用
color
参数调用
pcolormesh
,徒劳地试图获得黄色、蓝色和品红色的绘图。事实上,我得到了默认的颜色


我的问题是:如何调用
pcolormesh
将第一个区域设置为黄色,第二个区域设置为蓝色,第三个区域设置为品红?

一种方法是使用自定义颜色映射:

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import colors as c

X = np.linspace(0,1,100)
Y = np.linspace(0,1,100)
X,Y = np.meshgrid(X,Y)
Z = (X**2 + Y**2) < 1.
Z = Z.astype(int)
Z += (X**2 + Y**2) < .5

cMap = c.ListedColormap(['y','b','m'])

plt.pcolormesh(X,Y,Z,cmap=cMap)
plt.show()
将numpy导入为np
从matplotlib导入pyplot作为plt
从matplotlib将颜色导入为c
X=np.linspace(0,1100)
Y=np.linspace(0,1100)
十、 Y=np.meshgrid(X,Y)
Z=(X**2+Y**2)<1。
Z=Z.aType(int)
Z+=(X**2+Y**2)<.5
cMap=c.ListedColormap(['y','b','m'])
plt.pcolormesh(X,Y,Z,cmap=cmap)
plt.show()

我认为您需要指定一个包含这些颜色的颜色映射。也就是说,
plt.pcolormesh(X,Y,Z,cmap=plt.cm.光谱)
谢谢。我曾想过使用颜色贴图,但不知道matplotlib.colors.ListedColormap。所以,我觉得这会很尴尬。
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import colors as c

X = np.linspace(0,1,100)
Y = np.linspace(0,1,100)
X,Y = np.meshgrid(X,Y)
Z = (X**2 + Y**2) < 1.
Z = Z.astype(int)
Z += (X**2 + Y**2) < .5

cMap = c.ListedColormap(['y','b','m'])

plt.pcolormesh(X,Y,Z,cmap=cMap)
plt.show()