【问题标题】:Log labels on colorbar matplotlib在颜色条 matplotlib 上记录标签
【发布时间】:2015-02-05 08:12:13
【问题描述】:

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

我希望它改为显示为沿轴间隔的 0、5、10、20、50(对数间距)。

我似乎无法让它工作。

感谢您的帮助。

【问题讨论】:

    标签: python matplotlib colorbar imshow


    【解决方案1】:

    使用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()
    

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 1970-01-01
      • 2016-06-14
      • 2013-04-01
      • 2020-02-18
      • 2018-07-08
      • 2017-07-15
      • 2013-08-26
      • 2013-04-02
      相关资源
      最近更新 更多