3
我有一個對數imshow圖,當創建顏色條時,它的軸標籤和刻度是對數的,但由於值的範圍很短(0-50),顏色條看起來像這樣:顏色條matplotlib上的日誌標籤
和我想它代替顯示爲0,5,10,20,50沿着軸線(對數間距)隔開。
我似乎無法得到這個工作。
感謝您的任何幫助。
我有一個對數imshow圖,當創建顏色條時,它的軸標籤和刻度是對數的,但由於值的範圍很短(0-50),顏色條看起來像這樣:顏色條matplotlib上的日誌標籤
和我想它代替顯示爲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()
完美,謝謝! – Jbarrell 2014-12-08 01:32:57