7

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

たくさんの偽のデータを設定します。s、s、およびsZのみです(これは私の本当の問題のようなものです)。012

plt.pcolormesh(X,Y,Z,color=[(1,1,0),(0,0,1),(1,0,1)])

黄色、青、およびマゼンタのプロットを取得しようとする無駄な試みでpcolormesh、引数を指定して呼び出します。color実際、私はデフォルトの色を手に入れました!

pcolormesh

pcolormesh私の質問は次のとおりです。最初の領域を黄色、2 番目の領域を青、3 番目の領域をマゼンタにするにはどうすればよいですか?

4

1 に答える 1

8

1 つの方法は、カスタム カラーマップを使用することです。

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()

黄色、青、マゼンタのカスタム カラー マップを示すプロット

于 2012-11-08T18:14:31.420 に答える