私のコードの以下の最小限の例では、カラーバーを取得しようとしています。imshowの代わりにプロットに基づいてカラーバーをマッピングします
g1 = gridspec.GridSpec(1, 1)
f, ((ax0)) = plt.subplots(1, 1)
ax0 = subplot(g1[0])
cmap = matplotlib.cm.get_cmap('viridis')
for i in linspace(0,1,11):
x = [-1,0,1]
y = [i,i,i]
rgba = cmap(i)
im = ax0.plot(x,y,color=rgba)
f.colorbar(im)
私もおそらくかなり明白f.colorbar(cmap)
を試してみましたが、私は、このような現実に
'ListedColormap' object has no attribute 'autoscale_None'
などのエラーを取得し、私を定義する値は、より複雑ですが、私はこれが何をすべきだと思いますトリック。私のデータは、imshowではなくプロットでプロットされています(私はカラーマップの作成方法を知っています)。
私は方法を見つけました。すぐに更新されます。 – Nigu
少し遅れて、最初の質問を投稿した後、私が金曜日に見つけたのがここにあります。 'Z = [0,0]、[0,0] レベル= linspace(-1.5,5.5,11)#range命令(-1.4433333,5.5133333 + S、ステップ) CS3 = plt.contourf(Z、レベル、cmap = mymap) plt.clf()は、私がSO上で見つけた別の投稿に基づいて、scalarmappableを定義するために使用したものです。しかし、ここで提供されるソリューションはより魅力的で、問題をより直接的に解決します。ありがとう! – Nigu