次元 50*50 のデータ セットをプロットしたいと考えています。各データは、0から1までの数値である「確率」に関連付けられています。それらの確率を色のグラデーションで表現したいと考えています。matplotlib ツールを使用してドットをプロットする方法を知っています。しかし、それらを適切な色とどのように関連付ければよいでしょうか?
ありがとう!
次元 50*50 のデータ セットをプロットしたいと考えています。各データは、0から1までの数値である「確率」に関連付けられています。それらの確率を色のグラデーションで表現したいと考えています。matplotlib ツールを使用してドットをプロットする方法を知っています。しかし、それらを適切な色とどのように関連付ければよいでしょうか?
ありがとう!
特定の色を各ポイントに関連付けるには、カラーマップを使用する必要があります。たとえば、次のコードを考えてみましょう
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import random as ran
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
cmhot = plt.cm.get_cmap("hot")
xs = [ran.random()*50 for n in range(0,50)]
ys = [ran.random()*50 for n in range(0,50)]
zs = [ran.random() for n in range(0,50)]
l = ax.scatter(xs, ys, zs, c=zs, cmap=cmhot)
fig.colorbar(l)
plt.show()
その結果、次のようになります。
この場合、デフォルトの「ホット」カラーマップを使用して、色が z 値に関連付けられます。