2014-10-15 2 views
2

하기 matplotlib, 년 Colorbar 전설에 플롯하지만 선형 색상 규모 로그 컬러 규모 :내가 사용했던 로그 스케일에 플롯 할

plt.contourf(cube[0,:,:].data, levels=np.arange(0,6000,10), norm=mplc.LogNorm()) 

을하지만 그때 나는 년 Colorbar을 원하는 여전히 선형 규모가 될 ... 가능합니다. 그렇다면 어떻게해야합니까? norm 키워드는 plt.colorbar() 명령에서 유효하지 않은 것 같습니다.

+0

나는 확신은 더 직접적인 방법이있다, 그러나 해킹 로그 크기 조정을하지 않고, 두 번째, 보이지 않는 이미지를 만들고, 그에게 년 Colorbar를 연결하는 것입니다. – mdurant

+1

이 뜻인가요? http://stackoverflow.com/questions/18191867/matplotlib-contour-plot-proportional-colorbar-levels-in-logarithmic-scale? – Deditos

답변

0

this answer on how to generate a colormap without an image을 참조하십시오. 동작하는 예제 :

import matplotlib.pyplot as plt 
import matplotlib.colors as mplc 
import numpy as np 
data = np.random.random((10,10))*6e3 
my_cmap = plt.cm.coolwarm 

# contour plot 
plt.contourf(data, levels=np.arange(0,6000,10), cmap=my_cmap, norm=mplc.LogNorm()) 

# colorbar 
sm = plt.cm.ScalarMappable(cmap=my_cmap, norm=plt.Normalize(vmin=0, vmax=6000)) 
sm._A = [] 
plt.colorbar(sm) 

Log contourf linear colorbar

관련 문제