32

たとえば、4 つのサブプロットで構成される図が必要です。そのうちの 2 つは通常の折れ線グラフで、そのうちの 2 つは imshow-image です。

imshow-images を適切なプロット自体にフォーマットできます。これは、それらのすべてが独自のカラーバー、変更された軸、および他の軸を削除する必要があるためです。ただし、これはサブプロットにはまったく役に立たないようです。誰でもそれで私を助けることができますか?

上記の「通常の」プロットのデータをカラーマップとして表示するためにこれを使用します (input-arrayi[ i, i, i, i, i, i ]2D 用にスケーリングして呼び出し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()
4

1 に答える 1