이것은 이상한 것입니다. 누군가 나를 도울 수 있기를 바랍니다. matplotlib 히트 맵을 사용하여 데이터의 밀도 플롯을 만들려고 시도하고 있지만 어떻게 든 내 데이터가 반전/이상한 방식으로 회전합니다. 나는 산점도를 가지고 있는데 밀도를 위해 그 점들을 비닝하고 있지만 이미지는 전혀 나오지 않아야합니다. 예를 들어, 여기에서 정확한 배향을 갖는 원래 산점도, 같습니다matplotlib 히트 맵 데이터 반전?
여기에 내 히트 맵은 구조 위에서 90도 반 시계 방향으로 회전된다 (통지 야하지만 축 데이터가 올바른지 .. . 축에있는 번호) 단순히 사진이 제대로 나오는 축 반전, 그래서 만약 데이터에서 자동으로 생성하지만 숫자는 모두 꺼져 있습니다 : 난 그냥 어떻게 볼 수 없습니다
데이터 파싱 루틴이 내가 산산이 음모를 만들었던 때와 똑같습니다. 히트 맵 음모가 코드화 된 방식으로 이루어져야한다고 생각합니다. 그러나 고장이 어디에 있는지는 알 수 없습니다. 난 이미 히트 맵에 대한 내장 원점 배치 (왼쪽 위 모서리)에 대한 설명을 시도했지만 해결되지는 않았습니다.
import numpy as np
from numpy import ndarray
import matplotlib.pyplot as plt
import matplotlib
import atpy
from pylab import *
twomass = atpy.Table()
twomass.read('/Raw_Data/IRSA_downloads/2MASS_GCbox2.tbl')
hmag = list([twomass['h_m']])
jmag = list([twomass['j_m']])
hmag = np.array(hmag)
jmag = np.array(jmag)
colorjh = np.array(jmag - hmag)
idx_c = (colorjh > -1) & (colorjh < 6) #manipulate desired color quantities here
idx_h = (hmag > 8) & (hmag < 18)
idx = idx_c & idx_h
이제 여기에 히트 맵 코드입니다 : (첫번째 모든 데이터 구문 분석) 코드는 다음과
heatmap, xedges, yedges = np.histogram2d(colorjh[idx], hmag[idx], bins=500)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
plt.clf()
plt.imshow(heatmap, extent=extent)
plt.xlabel('Color(J-H)', fontsize=15) #adjust axis labels here
plt.ylabel('Magnitude (H)', fontsize=15)
plt.gca().invert_yaxis()
plt.legend(loc=2)
plt.title('CMD for Galactic Center (2MASS)', fontsize=20)
plt.grid(True)
plt.show()
내가, 파이썬에 아주 새로운 해요이 더 설명 덜 jargony 때문에 아마 나는 그것을 잘 사용할 수있을 것이다. 다들 도움을 주셔서 감사합니다.
그건 속임수입니다! 정말 고마워. (후자의 경우, 수정 된 'extent'코딩이 축 반전을 수행하므로 plt.gca(). invert_yaxis() 코드가 더 이상 필요하지 않습니다. – Teachey