我有一个对数 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()
关于python - 在 colorbar matplotlib 上记录标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345005/