表面密度プロットを生成する次のコードがあります。x と y は位置座標 = 座標で、z 軸は密度を表します。すべての値は事前に計算され、numpy 配列に格納されます。
#set up the grid
xi, yi = np.linspace(x.min(), x.max(), 200), np.linspace(y.min(), y.max(), 200)
xi, yi = np.meshgrid(xi, yi)
#interpolate
rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
zi = rbf(xi, yi)
plt.imshow(zi, vmin=z.min(), vmax=z.max(), origin='lower', extent=[x.min(), x.max(), y.min(), y.max()])
plt.scatter(x, y, c=z,marker='o')
plt.colorbar()
plt.scatter(xo,yo, c='b', marker='*')
plt.xlabel("RA(degrees)")
plt.ylabel("DEC(degrees)")
plt.title('Surface Density Plot 2.0 < z < 2.2')
plt.savefig('2.0-2.2.png', dpi= 300 )
plt.show()
私が抱えている問題は、xaxisの目盛りがユーザーフレンドリーな用語ではなく、150〜152の値ですが、xticks()関数を使用して目盛りの位置を変更できないようです。x軸をフォーマットする方法を教えてください。
edit- これらは、プロットに使用される xyz の値です。x、y、z は 3 つの numpy 配列 です。