私は、4つのサブプロットからなる図が必要です。 2つは通常のラインプロットで、2つはimshow-imagesです。複数のimshow-subplots、それぞれにカラーバーが付いています
imshowイメージは、それぞれ独自のカラーバー、変更された軸、および削除された別の軸が必要なので、適切なプロット自体にフォーマットできます。 これは、しかし、サブプロットのために全く役に立たないようです。誰もそれで私を助けることができますか?
Iは、(2Dため[ i, i, i, i, i, i ]
に入力アレイi
をスケーリングし、それにimshow()
を呼び出すことによって)カラーマップとして上記「通常」のプロットのデータを表示するためにこれを使用します。
次のコードは、最初に私がサブプロットとして必要なものを表示し、2番目のコードは私ができるすべてを示しています。
#!/usr/bin/env python
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
s = { 't':1, 'x':[1,2,3,4,5,6,7,8], 'D':[0.3,0.5,0.2,0.3,0.5,0.5,0.3,0.4] }
width = 40
# how I do it in just one plot
tot = []
for i in range(width):
tot.append(s['D'])
plt.imshow(tot, norm=LogNorm(vmin=0.001, vmax=1))
plt.colorbar()
plt.axes().axes.get_xaxis().set_visible(False)
plt.yticks([0, 2, 4, 6], [s['x'][0], s['x'][2], s['x'][4], s['x'][6]])
plt.show()
f = plt.figure(figsize=(20,20))
plt.subplot(211)
plt.plot(s['x'], s['D'])
plt.ylim([0, 1])
#colorplot
sp = f.add_subplot(212)
#reshape (just necessary to see something)
tot = []
for i in range(width):
tot.append(s['D'])
sp.imshow(tot, norm=LogNorm(vmin=0.001, vmax=1))
#what I can't do now but needs to be done:
#sp.colorbar()
#sp.axes().axes.get_xaxis().set_visible(False)
#sp.yticks([0, 200, 400, 600, 800, 1000], [s['x'][0], s['x'][200], s['x'][400], s['x'][600], s['x'][800], s['x'][1000]])
plt.show()
__あなたのサンプルは実行されません!__見ているものが見えるように、sとtotのサンプルデータを追加できますか?完全性を期すために、それぞれの例がshowコマンドで終了しているといいでしょう。 –
申し訳ありませんが、私は実行可能なコードを追加しました。 – michael
これらの 'cla'コマンドはすべて必要ではありません。また、例を掲示すると、(問題がデータの正確な値に依存しない限り)ランダムなデータをプロットするのが最も簡単です。 – tacaswell