対数の imshow フィギュアがあり、カラーバーが作成されると、その軸ラベルと目盛りは対数になりますが、値の範囲が短い (0-50) ため、カラーバーは次のようになります。
代わりに、軸に沿って0、5、10、20、50の間隔で表示したいと思います(対数間隔)。
私はこれを機能させることができないようです。
助けてくれてありがとう。
対数の imshow フィギュアがあり、カラーバーが作成されると、その軸ラベルと目盛りは対数になりますが、値の範囲が短い (0-50) ため、カラーバーは次のようになります。
代わりに、軸に沿って0、5、10、20、50の間隔で表示したいと思います(対数間隔)。
私はこれを機能させることができないようです。
助けてくれてありがとう。
LogFormatter
クラスを使用して次のように設定labelOnlyBase
しFalse
ます。
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()