Python Matplotlib颜色栏标记定位-在Matplotlib版本之间更改?

Python Matplotlib颜色栏标记定位-在Matplotlib版本之间更改?,python,matplotlib,plot,colorbar,Python,Matplotlib,Plot,Colorbar,Matplotlib似乎改变了设置次要颜色条刻度的方式。下面是一个简单的例子。在matplotlib 2.2.3中,该代码在0和10之间创建11个小刻度,在matplotlib 3.0.3中在0和1之间创建11个小刻度。这方面有什么参考资料吗?我在变更日志中找不到任何东西 import numpy as np import matplotlib import matplotlib.pyplot as plt np.random.seed(1000) im = plt.imshow(np.ran

Matplotlib似乎改变了设置次要颜色条刻度的方式。下面是一个简单的例子。在matplotlib 2.2.3中,该代码在0和10之间创建11个小刻度,在matplotlib 3.0.3中在0和1之间创建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)

你是对的,第3版中的色条有一个重大的变化,不幸的是没有得到很好的沟通。不知怎的,它隐藏在

颜色栏的刻度现在根据颜色栏的大小进行调整
如果颜色条是由非轮廓、没有边界范数或未指定边界的可映射对象创建的,则颜色条记号现在可以根据颜色条的大小进行调整。如果指定了边界等,则颜色栏将保持原始行为

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

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

也许您应该重新表述“0到10之间的11个小刻度”。它在0和10之间创建了11个刻度,其中包括5个小刻度和6个大刻度不确定,我猜它仍然在0和10之间创建了11个小刻度,只是小刻度低于默认的大刻度,因此无法看到?