1

カラーバーがあり、データにエラーバーがある散布図をプロットしたい。これが私のコードです:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(123)

x = np.linspace(0.1, 100, 10)
y = np.linspace(6, 18, 10)
yerr = np.random.random(10)
z = np.linspace(0, 10, 10)

plt.scatter(x, y, s = 20, c = z)
plt.colorbar()
plt.errorbar(x, y, yerr = yerr, fmt = '.')

プロットは次のとおりです。 ここに画像の説明を入力

ただし、エラーバーは青色で描画されます。カラーバーに従って描画したいのですが、どうすればよいですか? たとえば、ポイントにエラーバーの値がある場合、10に描画する必要がありますred

編集

以下に提案された答えに続いて、私は書きました:

cmap = matplotlib.cm.get_cmap('jet')
norm = matplotlib.colors.Normalize(vmin=min(y), vmax=max(y))

plt.scatter(x, y, s = 20, c=z, cmap=cmap)
plt.colorbar()
plt.errorbar(x, y, yerr = yerr, fmt = '.', c=cmap(norm(y)))

しかし、それでもうまくいきませんでした。助言がありますか?

私はまだこの質問に対する答えを得ることに興味があります. 誰?

4

1 に答える 1