matplot libにプロットを作成しましたが、そのプロットにインセットを追加したいと思います。プロットしたいデータは、他の図で使用している辞書の中に保存されています。ループ内でこのデータを見つけ、サブプロットに対してこのループを再度実行します。関連するセグメントは次のとおりです。
leg = []
colors=['red','blue']
count = 0
for key in Xpr: #Xpr holds my data
#skipping over what I don't want to plot
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
leg.append(key)
x = Xpr[key]
y = Ypr[key] #Ypr holds the Y axis and is created when Xpr is created
plt.scatter(x,y,color=colors[count],marker='.')
count += 1
plt.xlabel(r'$z/\mu$')
plt.ylabel(r'$\rho(z)$')
plt.legend(leg)
plt.xlim(0,10)
#Now I wish to create the inset
a=plt.axes([0.7,0.7,0.8,0.8])
count = 0
for key in Xpr:
break
if not key[0] == '5': continue
if key[1] == '0': continue
if key[1] == 'a': continue
leg.append(key)
x = Xpr[key]
y = Ypr[key]
a.plot(x,y,color=colors[count])
count += 1
plt.savefig('ion density 5per Un.pdf',format='pdf')
plt.cla()
奇妙なことに、インセットの位置を移動しようとしても、以前のインセット(コードの前回の実行からのもの)が取得されます。a=axes([])
私は何の明白なこともなくその行をコメントアウトしようとさえしました。サンプルファイルを添付します。なぜそのように振る舞うのですか?