Matplotlib颜色条刻度线定位-在Matplotlib版本之间进行更改?

时间:2019-05-03 09:56:00

标签: python matplotlib plot colorbar

Matplotlib似乎已经更改了设置小颜色条刻度的方式。下面是一个最小的示例。在matplotlib 2.2.3中,该代码在0和10之间的matplotlib 3.0.3中创建11个次要滴答声。对此是否有任何引用?我在变更日志中找不到任何内容。

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

np.random.seed(1000)
im = plt.imshow(np.random.rand(10,10) * 10)
cbar = plt.colorbar()
plt.clim(0,10)
cax = cbar.ax
cax.yaxis.set_ticks(np.linspace(0,1,11),minor=True)

1 个答案:

答案 0 :(得分:1)

您是正确的,版本3中的颜色条发生了重大变化,很遗憾,沟通不畅。它以某种方式隐藏在this What's new entry

  

颜色条的刻度现在可以根据颜色条的大小进行调整
  现在,如果颜色条是由不是轮廓的或没有BoundaryNorm的可映射对象制成的,或者没有指定边界,则颜色条刻度现在会根据颜色条的大小进行调整。如果指定了边界等,则颜色栏将保持原始行为。

这也意味着颜色条现在像其他任何轴一样缩放。意思是,如果您希望在0到10之间有11个刻度,则需要使用

ticks = np.linspace(0,10,11)
cbar.ax.xaxis.set_ticks(ticks,minor=True)

enter image description here