3

私が見つけてきたすべての例は、ランダムなデータを使用しています。私の問題は、ソリューションに合わせて実際のデータを配置することです。

x、y、z のヒートマップ/散布図を作成しようとしています。x と y は位置、z は色です。それらは同じ長さの 3 つの配列にあります。

X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
Z = [0.38, 0.37, 0.44, 0.33, ...]

pcolormeshのドキュメントは、「マスクされた配列」である可能性があると言う以外に、「C」が何であるかを説明していないようです。悲しいことに、それが何であるかは(まだ)わかりません。

3 つの配列を探しているものに変換するにはどうすればよいですか? 私はそれらをnumpy配列に貼り付けてそれを渡そうとしましたが、それは「形状」がないというエラーを鎮めましたが、3次元配列は探しているものではないようです.

4

1 に答える 1

5

pcolormesh3つの2次元配列が必要です。

あなたXとは問題ありませんが、numpyの関数Yを実行する必要があります。meshgrid

import numpy as np
X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
xx, yy = np.meshgrid(X, Y)

そうすれば、ととZ同じ形になる必要があります。そうすれば、すべての準備が整います。xxyy

散布図の場合、、、、XおよびYZ問題ありません。

import matplotlib.pyplot as plt
X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
Z = [0.38, 0.37, 0.44, 0.33, ...]
fig, ax = plt.subplots()
ax.scatter(X, Y, c=Z)
plt.show()
于 2013-02-07T01:15:13.830 に答える