以度为单位标记x轴

时间:2017-09-26 23:06:54

标签: python matplotlib plot

我有一个图表,根据经度点绘制磁通密度:

enter image description here

但是我需要从24.3读取x轴 - > 0在中心 - > 335.7

我已经使用matplotlib.ticker设置每30个像素的刻度,等于每1度。

SQL> select 'greater than 10' from dual where to_number(to_char(sysdate,'DD')) > 10;

'GREATERTHAN10'
---------------
greater than 10

是否有一个简单的命令可以用于此,可能在import numpy as np from astropy.io import fits import matplotlib.pyplot as plt import matplotlib.ticker as ticker hdulist = fits.open('w1_subtracted_2_deg.fits') nodisk_data, nodisk_header = hdulist[0].data, hdulist[0].header x = range(nodisk_data.shape[1]) y = np.sum(nodisk_data, axis = 0) ax = plt.axes() ax.xaxis.set_major_locator(ticker.MultipleLocator(300)) ax.xaxis.set_minor_locator(ticker.MultipleLocator(30)) plt.plot(x, y) plt.title('Longitudinal sum of flux density per steradian') plt.xlabel(r'Galactic longitude, $\ell$') plt.ylabel(r'Integrated flux density per steradian, $MJ.sr^{-1}$') plt.grid(True) plt.show() plt.savefig('add_cols.png') hdulist.close() 类中,或者我是否需要对x轴点列表进行硬编码?或者可以将中心像素设置为参考像素,并在圆周的任一方向上标记为24.3度的图?

1 个答案:

答案 0 :(得分:0)

我修复了这样的x轴标签:

xticks = [0, 183, 365, 547, 729, 912, 1095, 1277, 1459]
long_marks = [24, 18, 12, 6, 0, 354, 348, 342, 335]
ax = plt.axes()
ax.set_xticks(xticks)
ax.set_xticklabels(long_marks)