2017-02-24 3 views
2

히트 맵 (pcolormesh)을 생성하는 데 다음 코드 행이 있습니다. 내가 배치하고 싶습니다 pcolormesh resultmatplotlib의 색상 막대에 마커 또는 선 추가

:

import matplotlib.pyplot as plt 
import numpy as np 

vals = np.linspace(-np.pi/2, np.pi/2, 101) 
x, y = np.meshgrid(vals, vals) 

z = np.abs(np.sinc(x) * np.sinc(y)) 

xDeg = np.rad2deg(x) 
yDeg = np.rad2deg(y) 

plt.pcolormesh(xDeg, yDeg, z, cmap = 'jet', vmin = 0, vmax = 1) 
plt.colorbar() 

plt.axis([-90, 90, -90, 90]) 
ticks = np.linspace(-90, 90, 13) 
plt.xticks(ticks) 
plt.yticks(ticks) 

print np.mean(z)    # 0.186225110029 
print np.sqrt(np.mean(z**2)) # 0.295710882276 
plt.show() 

그것은이 이미지를 생성

  1. 평균 (0.186)에서 년 Colorbar에 마커.
  2. RMS 값 (0.295)에서 색상 막대의 수평선.

입력 사항이 있습니까?

답변

2

예상보다 쉬웠습니다. I가 년 Colorbar가 plt.colorbar().ax

cb = plt.colorbar() 
cb.ax.plot(0.5, mean, 'w.') # my data is between 0 and 1 
cb.ax.plot([0, 1], [rms]*2, 'w') # my data is between 0 and 1 
# Note: would need to scale mean/rms to be between 0 and 1 

의 플롯 가능 축을 갖는다 깨닫지 못했다 X 축처럼 보인다는 (0, 1) 및 Y 축 (dataMin, dataMax) (0, 1).

pcolormesh with markers on colorbar.

관련 문제