상단에 컬러 막대가있는 천문 이미지를 표시하는 함수를 작성하려고합니다 (자동으로 x 축과 길이가 같음). 틱을 맨 위에 놓으려고하면 아무 것도하지 않기 때문에 문제가 발생합니다 ... 컬러 막대의 맨 아래에 틱을 유지합니다 (또한 콜바의 y 축에있는 틱) . X 축의 WCS 좌표에서 문제가 될 수 있다고 생각합니다. 투영하지 않을 때 잘 작동하기 때문에!Matplotlib 컬러 바 및 WCS 프로젝션
import numpy as np
import matplotlib.pyplot as plt
from astropy import wcs
from matplotlib.colors import PowerNorm
from mpl_toolkits.axes_grid1 import make_axes_locatable
from matplotlib import cm
#WCS coordinate system
w = wcs.WCS(naxis=2)
w.wcs.crpix = [23.5, 23.5]
w.wcs.cdelt = np.array([-0.0035, 0.0035])
w.wcs.crval = [266.8451, -28.151658]
w.wcs.ctype = ["RA---TAN", "DEC--TAN"]
w.wcs.set_pv([(2, 1, 45.0)])
#generate an array as image test
data = (np.arange(10000).reshape((100,100)))
#display image
fig = plt.figure()
ax = plt.gca(projection=w)
graf = ax.imshow(data, origin='lower', cmap=cm.viridis, norm=PowerNorm(1))
#colorbar
divider = make_axes_locatable(ax)
cax = divider.append_axes("top", size="5%")
cbar = fig.colorbar(graf, cax=cax, orientation='horizontal')
cax.xaxis.set_ticks_position('top')
fig.show()
고마워요!
코드의이 대형 블록이 오히려 쓸모가 없다. 다른 사람들이 (적어도 현재 코드에서 가능한 한도까지) 그것을 실행할 수 있도록 편집하여 결과 이미지 나 멈추는 오류를 확인하십시오. – Gabriel
짧게하려면 : [mcve]를 읽고 적절하게 질문을 편집하십시오. – ImportanceOfBeingErnest
죄송합니다! 나는 코드를 편집했고, 지금은 검증 가능하다 !! – Mikifiori