他のカラーマップの色からListedColormap
を作成できます。
たとえば、tab20c
カラーマップからdarkorangeの色を取得するには、plt.cm.tab20c(4)
(これはマップの5番目の色です)を使用します。これは、インデックス付きのカラーマップでのみ有効です。それ以外の場合は、0から1の間の値を使用する必要があります。
このようにして得られた色のリストから、新しいListedColormap
を作成できます。
import matplotlib.pyplot as plt
import matplotlib.colors
import numpy as np
colors = [plt.cm.tab20(0),plt.cm.tab20(1),plt.cm.tab20c(4),
plt.cm.tab20c(5),plt.cm.tab20c(6),plt.cm.tab20c(7)]
cmap=matplotlib.colors.ListedColormap(colors)
x = np.arange(1,7)
plt.scatter(x,x,c=x, s=100, cmap=cmap, vmin=1, vmax=7)
plt.show()
![enter image description here](https://i.stack.imgur.com/wXNEC.png)
あるいは、同様に素敵なカラーバーを得るために、
import matplotlib.pyplot as plt
import matplotlib.colors
import numpy as np
colors = [plt.cm.tab20(0),plt.cm.tab20(1),plt.cm.tab20c(4),
plt.cm.tab20c(5),plt.cm.tab20c(6),plt.cm.tab20c(7)]
cmap=matplotlib.colors.ListedColormap(colors)
norm = matplotlib.colors.BoundaryNorm(np.arange(1,8)-0.5,len(colors))
x = np.arange(1,7)
sc = plt.scatter(x,x,c=x, s=100, cmap=cmap, norm=norm)
plt.colorbar(sc, ticks=x)
plt.show()
![enter image description here](https://i.stack.imgur.com/OO8oq.png)
素晴らしいです。その間、私はListedColormapについて発見しましたが、リストされたColorを定義するために組み込み関数を使用できることはわかりませんでした。再度、感謝します – ErroriSalvo