回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有下面的代码来生成表面密度图。
x和y是位置坐标,z轴代表密度。所有值都是预先计算的,并存储在numpy数组中。</p>
<pre><code> #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()
</code></pre>
<p>我遇到的问题是xaxis记号不是用户友好的术语,它们的值介于150到152之间,但是我似乎无法使用xticks()函数更改记号的位置。
有人能给我一个关于如何格式化x轴的建议吗?</p>
<p>编辑-
这些是用于绘图的xyz值。x、 y,z是三个numpy数组-<a href="https://www.dropbox.com/s/l03pkzplqmfm1su/xyz.csv" rel="nofollow">https://www.dropbox.com/s/l03pkzplqmfm1su/xyz.csv</a>
第一行是x值,第二行是y,第三行是z</p>