私は、ピラブのsubplot()関数を使って配列された単純なラインプロットの上に画像を貼り付けようとしています。しかし、imshowを呼び出すと、サブプロットの境界が変更されているように見え、set_position関数を使用してもこれらの境界を変更できません。画像をオーバーレイするときにpylabサブプット境界が変更される
基本的に、私は上部サブプロットをthis imageの下部と同じ幅にしたいと思います。
私はthis postとしてオートスケールをオフにしてみましたが、違いはありません。
ここに私のソースです:
import pylab as pl
#Plotting results
F=pl.figure()
#First plot the unzoomed plot
ax1=pl.subplot(211)
ax2=pl.subplot(212)
#Not relevant to problem... ax1.plot() & ax2.plot() commands
for bl in range(len(bondLengths)):
ls=styles[bl]
lw=widths[bl]
for cf in range(len(chgcarfiles)):
c=colors[cf]
avgi=avgIBLs[cf][bl]
L=len(avgi)
ax1.plot([bondLengths[bl]*(x+0.5)/L for x in range(-1,L/2,1)],avgi[len(avgi)/2-1:],c=c,ls=ls,lw=lw)
ax2.plot([bondLengths[bl]*(x+0.5)/L for x in range(-1,L/2,1)],avgi[len(avgi)/2-1:],c=c,ls=ls,lw=lw)
ax1.set_xlim([0,2.5])
ax1.set_ylim([0.5,4.9])
ax2.set_xlim([0,1.2])
ax2.set_ylim([0.88,0.96])
#Load up & insert an image
slice=pl.loadtxt("somedata1")
ax1.autoscale(False)
ax1.imshow(slice,extent=[0.05,0.75,3.4,4.1])
pl.figtext(0.45,0.03,r"Distance ($\AA$)")
pl.figtext(0.05,0.65,r"Partial Charge Density ($\rho/rho_{avg}$)",rotation='vertical')
pl.show()
もちろんアスペクト比 Iそれが私がチェックしなかった一つの財産だと思います。常にあなたが考える最後のものです。助けてくれてありがとう。 –