2014-12-07 6 views
3

로그 표시가있는 경우 색상 표를 만들면 축 레이블과 눈금이 로그되지만 값의 짧은 범위 (0-50)로 인해 색상 막대가 다음과 같이 표시됩니다 :컬러 막대 matplotlib의 로그 레이블

enter image description here

내가 대신 축 (대수 간격)을 따라 이격 된 0, 5, 10, 20, 50을 표시하고 싶다.

나는 이것이 작동하는 것처럼 보일 수 없다.

도움 주셔서 감사합니다.

답변

5

LogFormatter 클래스를 사용하여 설정 labelOnlyBaseFalse에 :

import matplotlib.pyplot as plt 
import numpy as np 
import matplotlib.colors 
from matplotlib.ticker import LogFormatter 

A = np.random.rand(50,50)*50 
plt.imshow(A, norm=matplotlib.colors.LogNorm()) 
formatter = LogFormatter(10, labelOnlyBase=False) 
cb = plt.colorbar(ticks=[1,5,10,20,50], format=formatter) 
plt.show() 
+0

완벽한, 감사합니다! – Jbarrell

관련 문제