python - 在 colorbar matplotlib 上记录标签

标签 python matplotlib colorbar imshow

我有一个对数 imshow 图,创建颜色条时,它的轴标签和刻度是对数的,但由于值的范围很短 (0-50),颜色条看起来像这样:

enter image description here

我希望它显示为沿轴(对数间距)间隔 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/

相关文章:

python - 带颜色条的圆图

python - 用 Pandas 搜索整个 Excel 工作表中的单词

python - 如何使用 Pandas 中具有相似特征条件的值替换特定行(基于条件)?

python - 如何通过定义分隔符前后来提取子字符串

python - emacs 上的多行 python 缩进

python - 拟合 Von Mises 分布的圆形直方图

python - Matplotlib,在绘图上记录色标但在颜色条图例上记录线性色标

python - 使用 gridspec 移动颜色条

python - 如何更改图像上像素部分的 Alpha channel ?

python - ipython --pylab 与 ipython