我有一个图表,根据经度点绘制磁通密度:
但是我需要从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度的图?
答案 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)