Pythonでは、2D配列があります。例:
1.3 5.7 3.2 5.6 2.3 9.5 1.1 4.1 5.2
次に、「imshow」を使用して必要なものを取得しました。基本的に、x軸が次のプロットを持っていました:(列)0(列)1(列)2...。
y軸は次のとおりです。。(行)2(行)1(行)0
そして、実際の値(5.6または2.3など)は色で表されました。これはまさに私が望んでいたことでした。
しかし後で、x軸が列0の列1と列2などである代わりに、x軸に列0の列1と列2などに対応する日付を表示したかったのです。この情報は別の場所に保存されました。リスト、「date_info[]」と言います。
したがって、下部の任意のインデックススキームの代わりに、imshowのx値をdate_info []リストの値に対応させる必要があります。たとえば、数値2の代わりに、x軸にdate_info[2]が必要です。
今、このフォーラムの助けを借りて、私はこれを使用してこれを行うことができました:
plt.xticks(mjdaxis,[int(np.floor(data_info[i])) for i in mjdaxis])
しばらくはこれで十分でしたが、ここでx軸のラベルを変更しているだけですよね?プロットされているものではなく。元のプロットの上にもう1つのプロット(通常の曲線)を配置しようとすると、x軸のスケーリングが台無しになり、代わりに列が(1,2,3 ...)として再び束ねられます。対応するdate_info値(55500、55530、55574 ...)
誰かが私が言っていることを理解できれば、それは素晴らしいことです!!
参考までに、私が今試しているコードは次のとおりです。
fig = plt.figure()
ax1 = fig.add_subplot(111)
mjdaxis=np.linspace(0,date_info[0]-1,20).astype('int')
ax1.set_xticks(mjdaxis,[int(np.floor(date_info[i])) for i in mjdaxis])
ax1.imshow(residuals, aspect="auto")
ax2 = ax1.twinx()
ax2.plot(pdot[8:,0],pdot[8:,1])
plt.show()